У меня есть контроллер, который зависит от другого контроллера (для информации о настройках). Я пытаюсь использовать шаблон Controller As, но я получаю ошибку при введении.
Здесь мои контроллеры:
angular.module('app2', [])
.controller('ctrl1', [function () {
var controller = this;
controller.value = 6;
}])
.controller('ctrl2', ['ctrl1', function (ctrl1) {
var controller = this;
controller.testValue = 5;
controller.runTest = function () { return ctrl1.Value * 2; };
}])
И здесь, как он использовался
<body ng-controller="ctrl2 as ctrl">
{{ ctrl.runTest() }}
</body>
Я видел эту статью здесь, но она не казалась такой же, и я не мог понять, как заставить это решение работать: AngularJS. Как вводить зависимости при использовании контроллера - как синтаксиса
Я действительно предлагаю вам использовать service
для связи между контроллерами и хранения общих данных.
Один из многих простых примеров можно найти здесь.
Но, если вы настаиваете, тогда вам нужно ввести $controller
.
.controller('ctrl1', function() {
var controller = this;
controller.value = 6;
})
.controller('ctrl2', function($controller) {
var controller = this;
controller.testValue = 5;
controller.runTest = function() {
return $controller('ctrl1').value * 2; // <-note: '.Value' does not exist in ctrl1
};
});