如何在视图(或多视图的子视图)中使用多个angularjs的控制器?

时间:2015-07-17 15:33:51

标签: angularjs angularjs-controller angular-ui-router angularjs-view

作为标题,我想在一些子视图中使用多个控制器

routes.js(例如):

.state("multi",{
            url: "/multi",
            views: {
                "": {
                    templateUrl: "multipleView.htm",
                    controller: "MainCTRL",
                    controllerAs: "ctrl"
                },
                "viewA@multi": {
                    templateUrl: "testingBlock.htm",
                    controller: ["CtrlOne", "CtrlTwo"],
                    controllerAs: "ctrl"
                },
            });

或者我应该将CtrlOne和CtrlTwo放在第三个控制器中:

function CtrlThree($scope){
         CtrlOne($scope);
         CtrlOTwo($scope);
}

1 个答案:

答案 0 :(得分:4)

为什么不将控制器放在视图中而不是在routeProvider上指定它。

控制器也有层次结构,或者你是否希望它们只能在同一级别上工作。

我上面提到的例子。

<div ng-controller="CtrlOne"> <div ng-controller="CtrlTwo"></div> </div>

这将是&#34; multipleView.htm&#34;中的html。文件。