typescript – Angular2 viewmodel中的布尔值不更新* ngIf模板

前端之家收集整理的这篇文章主要介绍了typescript – Angular2 viewmodel中的布尔值不更新* ngIf模板前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个奇怪的行为,我需要一些帮助.这是一个angular2和打字稿应用程序.

我有一个模板,其中包含以下使用ngIf的html:

<div *ngIf="loading" class="row">
        <div class="small-3 small-centered columns"  >
            <img src="/Images/loading_spinner.gif" />
        </div>
    </div>

我有一个按钮,触发一个函数来改变加载的值

export class ShiftEditComponent implements OnInit {

    loading: boolean = false;

    setLoading(value: boolean): void {
        if (this.loading !== value) {
            this.loading = !this.loading;
        }
    }
}

这是奇怪的事情.如果我从类中的其他位置指定value参数的值,则模板不会更新.但是如果我去除逻辑并且只是将负载分配给它的相反,那么它工作并且模板更新并且ngIf显示并且不相应地显示.

这个工作:

setLoading(): void {
            this.loading = !this.loading;
    }

题:
当我只是分配相反的值时,为什么这会工作和ngIf更新,但如果我尝试通过参数指定值,则ngIf模板不会更新(显示或隐藏)

If i specify the value of the value parameter from somewhere else in the class,the template does not update

一个常见的症状是你在那个处理程序中有错误

固定

使用箭头功能https://basarat.gitbooks.io/typescript/content/docs/arrow-functions.html

猜你在找的Angularjs相关文章