Я строю угловой контроллер с использованием controller as
синтаксиса:
<body ng-controller="ctrl as myCtrl">
<p>accessed via scope resolution: {{ foo }} </p>
<p>accessed via controller resolution: {{ myCtrl.foo }}</p>
</body>
В контроллере у меня есть следующее:
myApp.controller('ctrl', function($scope) {
this.foo = 'Controller\ foo';
$scope.foo = '$scope\ foo';
});
Приведенный выше код работает и печатает bot- controller foo
и $scope foo
.
Очень хорошее подробное объяснение в
http://codetunnel.io/angularjs-controller-as-or-scope/
Надеюсь это поможет !
$scope.$on()
) или вам необходимо явно наблюдать ($scope.$watch()
) возвращаемое значение переменной или функции, даже при использовании синтаксиса «контроллер как». Я нашел эту статью очень полезной в объяснении почему.