我想我也许可以使用 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 文件,它是否呈现为控制器的一部分?