看来您的方案将是一个应用的好地方ng-include
。例如,给定这个标记:
<div ng-controller="MainCtrl">
<div ng-include="template"/>
</div>
这段代码在MainCtrl
:
function MainCtrl($scope) {
// some logic that would determine the template you want to load
$scope.template = 'templates/myTemplate.html';
}
这段代码在templates/myTemplate.html
:
<div ng-controller="TemplateCtrl">
<!-- Template Content -->
</div>
angular 将自动下载templates/myTemplate.html
并应用于TemplateCtrl
模板。(当然你还需要TemplateCtrl
定义。)当你想切换模板时,MainCtrl
你需要将值更改$scope.template
为另一个模板 url;该模板将指定一个ng-controller
属性,该属性指示该模板的适当控制器。