在我的angularjs应用程序中,我试图像这样延迟加载控制器:
$scope.loadView4Ctrl = function () {
console.log('loadview4ctrl');
$ocLazyLoad.load({
name: "View4",
files: [
'view4/view4.js'
]
});
};
当我运行此程序时,我的view4Ctrl是否未加载?如何通过ocLazyLoad运行此控制器?
这是我要加载的控制器:
'use strict';
console.log('loading file containing view4Ctrl');
app
.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/view4', {
templateUrl: 'view4/view4.html',
controller: 'view4Ctrl'
});
}])
.controller('view4Ctrl', function () {
console.log('This is lazy loaded!!!');
$scope.hello='Good day , I am loaded now.';
});
这是code
最佳答案
解析度
在您的view4/view4.js
中,将app.config
更改为angular.module('myApp').config
RCA
当view4.js
被$ocLazyLoad
延迟加载时,app
变量的上下文已更改。
我确实从GitHub克隆了您的代码以测试上述分辨率,并且有效:)
希望能帮助到你!