我想我可以使用ocLazyLoad来解决我的问题,但无法从文档中轻松确定。我想做这样的事情:
MyApp.controller('page', ['$scope','$http', 'socketManager', '$ocLazyLoad',
function ($scope, $http, socketManager, $ocLazyLoad) {
// Get custom content (list of devices)
$scope.GetDevices = function () {
$http({method: "get",url: "/api/devices"})
.success(function (devices) {
// Load the module(s) for this
devices.foreach(function () {
$ocLazyLoad.load(devices.module);
})
})
}
}])
模块定义如下:
$ocLazyLoadProvider.config({
modules: [{
name: 'DeviceType1',
files: ['js/DeviceType1.js','views/partials/DeviceType1.html']
}],
// more devices
});
我的问题是,一旦加载了模块,它在哪里加载?延迟加载的javascript是否可以访问$ scope,$ http和socketManager?另外,如果我包含html文件,它是否作为控制器的一部分呈现?