Как я могу использовать несколько контроллеров angularjs внутри представления (или подпредставления нескольких представлений)?

В качестве заголовка я хотел бы использовать более одного контроллера внутри некоторого подвью

route.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 ответ

Решение

Почему бы не поместить контроллер в представление вместо указания его на routeProvider.

Также есть ли у контроллеров иерархия или вы хотите, чтобы они все просто работали на одном уровне.

Пример того, что я упомянул выше.

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

Это будет HTML внутри файла "множественного вида.htm".

Другие вопросы по тегам