我有這樣的後續的圖:如何使用控制器名稱從JS動態設置控制器的HTML?
<html ng-app="app" ng-controller="mainController">[...]
<body ng-controller="currentController">[...]
我想能夠設置從一個可變的上控制器($ scope.currentController)(mainController)主體控制器。控制器mainController
看起來像如下:
angular.module("app").controller("mainController", function($scope) {
$scope.currentController = "indexController"; // 'indexController' being the name of the controller I want to apply to the view
});
這不明明工作,我怎麼能動態設置控制器從JS的看法?
編輯:(以@mrhobo答案)
我想這一點,給人的事實,我有每個控制器一個文件:
angular.module("app").controller("mainController", function($scope, indexController) {
$scope.currentController = indexController;
});
我得到這個錯誤:Doc Angular error
是否可以接受的'mainController'移動到'html'標籤,而不是實現了父子關係? – tasseKATT 2014-12-07 15:13:53
mainController在這裏管理網站使用的控制器。它可以是主頁的'indexController'或應用程序頁面的'appController'。這兩個控制器不管理相同的事情。我試圖把它們放在'mainController'上,它工作正常,但我的控制檯上有錯誤,因爲我引用了每個元素中都不存在的元素。這就是爲什麼我更喜歡'mainController'根據所使用的頁面選擇要應用的。但在所示的代碼中,我只是展示了我想要做的基本概念:使用JS的名字來設置一個來自JS的控制器。 – Elfayer 2014-12-07 15:25:01
我認爲你正在尋找路由的概念。 – 2014-12-07 15:35:39