Привязка модели как синтаксис для привязки свойства - PullRequest
0 голосов
/ 06 октября 2018

Я работаю над проектом Metronic Angular 6 .У него есть код ниже.Можете ли вы сказать мне, что такое функциональность [(action)]="action".Я знаю, как привязать к входным метаданным (т.е. @Input()).Нам обычно так нравится

<m-login *ngIf="action === 'login'" [action]="action"></m-login>

Но здесь все по-другому.Это как двусторонняя привязка модели.Но мы обычно используем этот синтаксис для этого [(ngModel)]="model".Любая подсказка?

auth.component.html

<m-login *ngIf="action === 'login'" [(action)]="action"></m-login>

login.ts

export class LoginComponent implements OnInit, OnDestroy {

    @Output() actionChange = new Subject<string>();
    @Input() action: string;

}

Ответы [ 2 ]

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

Синтаксис двусторонней привязки - это просто синтаксический сахар для привязки свойства и привязки события.Angular десугарирует привязку к этому:

, если ваше свойство имеет имя action, вам нужно только назвать его соответствующий EventEmitter до actionChange и выполнить синтаксис banana-in-a-boxдля дочернего компонента [(action)] = "parentProperty", а Angular позаботится об остальном.

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

Можете ли вы сказать мне, какова функциональность [(action)] = "action"

Эта функция называется двусторонняя привязка данных

Для получения дополнительной информации: Двухстороннее связывание

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

На стороне элемента, которая принимает комбинацию установки определенного свойства элемента и прослушивания события изменения элемента.

Angular предлагает специальный двусторонний синтаксис привязки данных для этой цели, [(x)].Синтаксис [(x)] объединяет скобки привязки свойства [x] с круглыми скобками привязки события (x).

...