我新添加了lazyload库。
var app = angular.module(subdomain, ['ngRoute','ngResource','ngCookies','ngSanitize','angular-md5','mm.foundation','chieffancypants.loadingBar', 'ngAnimate','ui-notification','infinite-scroll','oc.lazyLoad']);
我在路线页面加载了控制器:
$routeProvider
.when('/',
{
templateUrl: 'app/components/home/home.html',
access: { requiredLogin: true },
resolve: {
lazy: ['$ocLazyLoad', function($ocLazyLoad) {
return $ocLazyLoad.load([{
name: 'app',
files: ['dist/home.min.js']
}]);
}]
},
controller: 'homeController'
})
我的控制器文件有:
app.controller("homeController",[....])
我得到家庭控制器没有定义错误。如果我将应用程序更改为控制器中的angular.module它的工作,但这不是我想要的。有没有解决方案,所以我可以使用app变量?
答案 0 :(得分:0)
看起来你和这个家伙有同样的问题:https://stackoverflow.com/a/44414548/1040731
您应该通过模块angular.module('myapp').controller('homeController',...)
答案 1 :(得分:0)
你可以使用'insertBefore'属性: 设置
的ID<script id='tag-id' src='app.module.js' type='text/javascript'></script>
然后:
$routeProvider
.when('/',
{
templateUrl: 'app/components/home/home.html',
access: { requiredLogin: true },
resolve: {
lazy: ['$ocLazyLoad', function($ocLazyLoad) {
return $ocLazyLoad.load([{
name: 'app',
insertBefore: '#tag-id',
files: ['dist/home.min.js']
}]);
}]
},
controller: 'homeController'
})