【发布时间】:2015-09-07 22:18:56
【问题描述】:
这是改变ng-include控制器的动态方式吗?
我的应用程序允许用户创建页面一些内容和控制器。我可以更改 ng-include src 但我不知道如何动态关联新控制器。以下代码不起作用:
<div ng-app="MyApp">
<div ng-controller="ParentController">
<select ng-model="currentItem" ng-options="item as item.url for item in items track by item.url">
</select>
{{ currentItem }}
<div ng-include src="currentItem.url" ng-controller="currentItem.controller"></div>
</div>
</div>
我有以下 JS:
var app = angular.module("MyApp",[]);
app.controller('ParentController', ['$scope',function($scope){
$scope.items = [{
url: 'page1.html',
controller: 'Page1Controller'
},
{
url: 'page2.html',
controller: 'Page2Controller'
}];
$scope.currentItem = {};
}]);
app.controller('Page1Controller', ['$scope',function(){
alert('Page1');
}]);
app.controller('Page2Controller', ['$scope',function(){
alert('Page2');
}]);
【问题讨论】:
-
使用指令而不是 ng-include,这就是它们的用途。
标签: javascript angularjs