我正在尝试创建一个加载html模板的工厂,然后用新加载的控制器编译html ......
app.factory('$modal', function ($templateProvider, $compile, $ocLazyLoad){
return {
open: function(modal) {
$ocLazyLoad.load([
'modals/'+modal+'.html',
'modals/'+modal+'.ctrl.js',
]).then(function() {
// How ?
})
}
}
});
在使用ocLazyLoad加载控制器然后使用$templateProvider
服务后,我还尝试通过$compile
获取html。任何时候控制器都不可用的问题!
在配置中,我尝试了以下内容:
app.config(['$stateProvider', '$httpProvider', '$locationProvider', '$urlRouterProvider', '$controllerProvider', '$compileProvider', '$filterProvider', '$provide', '$ocLazyLoadProvider',
function ($stateProvider, $httpProvider, $locationProvider, $urlRouterProvider, $controllerProvider, $compileProvider, $filterProvider, $provide, $ocLazyLoadProvider) {
app.controller = $controllerProvider.register;
app.directive = $compileProvider.directive;
app.filter = $filterProvider.register;
app.factory = $provide.factory;
app.service = $provide.service;
app.constant = $provide.constant;
app.value = $provide.value;
}]);
我的想法是,我应该能够使用angular.module('myApp').controller(...
声明刚刚加载的新控制器。也没有成功。
我在这一点上陷入困境,以前有人这么做过吗?