/ / Възможно ли е да използвате два контролера за един и същи изглед? За предпочитане с ui-router - angularjs, angularjs-range, angular-ui-router

Възможно ли е да използвате два контролера за същия изглед? За предпочитане с ui-router - angularjs, angularjs-scope, ъглово-ui-рутер

Имам множество вложени изгледи в рутер Ui. Искам да знам дали е възможно всички те да споделят един контролер за някаква идентична функционалност и след това да имат свои контролери за друга функционалност. Аз бих искал този родителски контролер да направи няколко api повиквания и да запази някакъв обхват променливи, така че не трябва да правя тези обаждания поотделно във всеки контролер. Знам, че мога да постигна нещо подобно с разрешаване, но дали са възможни 2 контролера за един изглед?

ето пример на моя код за това как изглежда кодът ми

.state("app.user", {
url: "/user",
resolve: {
userData: ["UserService", function(UserService) {
return UserService.getuser().then(function(profile) {
UserService.profile = profile.data;
UserService.currentId  = profile.data.user.id;
return profile.data;
});
}]
},
views: {
"content@": {
templateUrl: ENVApp + "/views/user/profile.html?",
controller: "UserController"
},
"addresses@app.user": {
templateUrl: ENVApp + "/views/partials/addresses?",
controller: "UserAddressController"
}
}
})

Отговори:

3 за отговор № 1

Да, правя това в повечето си приложения. В тялото си div посочвам контролер на име appController с ng-controller = "appController като приложение" и след това мога да го препращам от всеки изглед в моето приложение като приложение.


0 за отговор № 2

просто бихте могли да направите

<div ng-controller="parentController">
<div ng-view></div>
</div>

parentController е общият контролер за идентична функционалност и ng-view ще бъде актуализиран за отделни контролери.