2017-02-09 2 views
0

Как работает обнаружение изменений в Angular2, когда для параметра changeDetection Strategy установлено значение «ChangeDetectionStrategy.Default»? Проверяет ли он все привязки (только ссылкой) в шаблоне и запускает повторную визуализацию, если какая-либо ссылка была изменена?Angular2 Обнаружение изменения по умолчанию

+0

Посмотрите на эту статью: https://blog.thoughtram.io/angular/2016/02/22/angular-2-change-detection-explained.html – Maxime

ответ

0

default change detection strategy будет выполнять обнаружение изменений для всех привязок. Он не только будет искать ссылки, но и изменения свойств на вашей модели.

Например, запуск следующего кода изменит имя в шаблоне после запуска метода changeName(), хотя изменяется только свойство свойства name, а не ссылка person.

import {Component} from '@angular/core'; 

@Component({ 
    selector: 'my-app', 
    template: ` 
    <h1>Hello {{person.name}}</h1> 
    <button (click)="changeName()">Change name!</button> 
    ` 
}) 
export class AppComponent { 
    person = { name: 'Foo' }; 

    changeName() { 
    this.person.name = 'Bar'; 
    } 
} 
+0

Он по-прежнему проверки ссылки на свойство, связанное в шаблоне. Как и в приведенном выше примере, «person.name» был связан в шаблоне. –

Смежные вопросы