特定のネストされた状態に入ったときに、oclazyloadを使用して Angular コントローラーを動的にロードしています。
そのネストされた状態:
.state('login.home', {
url: "home",
views: {
"nav-right": {
templateProvider: function($http, $stateParams) {
return $http({
method: 'GET',
url: '/homeVnR'
}).then(function successCallback(html) {
return html.data;
});
}
},
"content@": {
templateProvider: function($http, $stateParams) {
return $http({
method: 'GET',
url: '/homeV'
}).then(function successCallback(html) {
return html.data;
});
},
controller: "authhomeCtrl"
}
},
resolve: {
loadMyCtrl: ['$ocLazyLoad', function($ocLazyLoad) {
// you can lazy load files for an existing module
return $ocLazyLoad.load('authHome')
}]
}
//all other states go below
})
ビューの私の決意でそれを見ることができcontent@
ます。
authHome
は次のように定義されます。
app.config(['$ocLazyLoadProvider', function($ocLazyLoadProvider) {
$ocLazyLoadProvider.config({
debug: true,
events: true,
modules: [{
name:"authHome",
files: [
"/homeC.js"
],
}]
});
}]);
ヒットした ajax リクエストが表示され/homeC.js
、適切な Javascript で 200 が返されます。
次のようになります。
app.controller('authhomeCtrl', ['$scope', '$http', '$timeout', '$interval', '$filter', '$uibModal', '$state', '$uibModalInstance', function($scope, $http, $timeout, $interval, $filter, $uibModal, $state, $uibModalInstance) {
scope.viewAttempt = function(){
alert("VIEW!");
}
}]);
しかし、私はエラーが発生します:
引数 'authhomeCtrl' は関数ではありません...
レイジーロードが正常にロードした場合、なぜ未定義なのですか?
私は何を間違っていますか?