Я недавно нашел синтаксис controllerAs, и мне интересно, исключает ли это необходимость обертывания переменных области видимости в объекты, чтобы получить ссылку.
Извините, я, вероятно, не спрашиваю четко, но я имею в виду, являются ли обе следующие объявления безопасными друг для друга или я должен использовать объект модели при использовании контроллера. Чтобы избежать проблем с вложенными областями?
Старый метод -
$scope.model = {
myData: "test"
}
<div ng-controller="myController">
<input ng-model="model.test" />
</div>
ControllerAs -
$scope.myData = "test"
<div ng-controller="myController as myC">
<input ng-model="myC.test" />
</div>
Нет, контейнер больше не нужен, одна из основных целей контроллера. Синтаксис заключается в том, чтобы ввести этот полезный шаблон, который помогает устранить эффекты наследования наследования прототипов в области, когда они нежелательны (т.е. Почти всегда).
Наследование прототипа области может по-прежнему быть достигнуто, если необходимо, используя вместо this
$scope
вместо this
в контроллере.