我新加入了lazylod库。
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,它会工作,但这不是我想要的。有什么解决方案可以让我使用应用程序变量吗?
看起来你和这个家伙有同样的问题:https://stackoverflow.com/a/44414548/1040731
您应该通过模块angular.module('myapp').controller('homeController',...)
参考您的控制器
您可以使用"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'
})