Что такое $ ctrl в angularjs?когда использовать $ ctrl против $ scope при просмотре? - PullRequest
0 голосов
/ 22 октября 2018

В примере $ctrl используется в представлении

<b>Heroes</b><br>
<hero-detail ng-repeat="hero in $ctrl.list" 
             hero="hero" 
             on-delete="$ctrl.deleteHero(hero)" 
             on-update="$ctrl.updateHero(hero, prop, value)">
</hero-detail>

Когда использовать $ctrl и когда использовать $scope для взаимодействия с представлением?

https://docs.angularjs.org/guide/component

1 Ответ

0 голосов
/ 22 октября 2018

в представлениях вы можете привязать псевдоним к вашему контроллеру, упрощая обращение к $scope переменным.это полезно, когда вы вкладываете controllers and you dont want to reference something from a different controller. since $ scope` в соответствии с иерархической структурой данных.

, поэтому для охвата вашего контроллера вы можете использовать этот синтаксис.

Например, имея два контроллера, обас той же самой переменной 'name', вы можете сделать это:

<body ng-controller="ParentCtrl as ptr">
<input ng-model="name" /> {{ptr.name}}

<div ng-controller="ChildCtrl as chl">
    <input ng-model="name" /> {{chl.name}} - {{ptr.name}}
</div>

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

<b>Heroes</b><br>
<hero-detail ng-repeat="hero in $ctrl.list" 
             hero="hero" 
             on-delete="$ctrl.deleteHero(hero)" 
             on-update="$ctrl.updateHero(hero, prop, value)">
</hero-detail>

после angulajs1.5 в угловом положении, если вы используете components, его псевдоним по умолчанию - $ctrl, и, конечно, вы можете переопределить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...