不断调用Angular 2绑定属性getter

时间:2018-06-06 01:37:30

标签: angular2-changedetection

我有一个绑定到一个组件属性,其getter执行一个http调用,并且发现它被不断调用,没有结束。

HTML([已检查]绑定是问题):

<td><input type="checkbox" (change)="toggleAll($event.target.checked)" [checked]="allChecked" /></td>

组件属性:

_allChecked: boolean = false;
get allChecked() {
    this.service.get('api/Tickets').subscribe(
        data => {
            let newChecked: boolean = data.filter(a => !a.Selected).length === 0;
            if (newChecked != this._allChecked) {
                this._allChecked = newChecked;
            }
        });
    return this._allChecked;
}

如果我用'return false'替换所有代码它被称为理智的次数。为什么在http呼叫时行为会发生变化?如何阻止它疯狂?

0 个答案:

没有答案