Javascript示例:
$stateProvider.state("stateA",{
url:"^/statea",
resolve:{
//include or importing controller file here
},
views:{
"header":{
templateUrl:"templates/blocks/login/header.html",
//OR
controllerUrl: "/pathCtrl",
controller: nameController
}
}
}
});
我希望能够在需要时随时导入控制器,而不必强制将它们包含在索引文件中。
答案 0 :(得分:0)
可以使用eval和$ injector服务,但我不推荐它。但是你走了:
eval(someFileContent);
var someCtrl = $injector.instantiate(SomeCtrlConstructor, {
$scope: $scope
});
其中SomeCtrlConstructor是eval创建的构造函数的名称。这个解决方案存在一些问题。其中最突出的是使用它。您可以将此作为self传递给子组件。就像$ scope一样。
var someCtrl = $ injector.instantiate(SomeCtrlConstructor,{ $ scope:$ scope, 自我:这个 });