J K*_*ing 7 typescript angular
我有一个奇怪的行为,我需要一些帮助.这是一个angular2和打字稿应用程序.
我有一个模板,其中包含以下使用ngIf的 html :
<div *ngIf="loading" class="row">
<div class="small-3 small-centered columns" >
<img src="/Images/loading_spinner.gif" />
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我有一个按钮,触发一个函数来改变加载的值
export class ShiftEditComponent implements OnInit {
loading: boolean = false;
setLoading(value: boolean): void {
if (this.loading !== value) {
this.loading = !this.loading;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是奇怪的事情.如果我从类中的其他位置指定value参数的值,则模板不会更新.但是如果我去除逻辑并且只是向其对面分配加载,则它起作用并且模板更新并且ngIf显示并且不相应地显示.
这个工作:
setLoading(): void {
this.loading = !this.loading;
}
Run Code Online (Sandbox Code Playgroud)
问题:当我只分配相反的值时,为什么这会工作和ngIf更新,但如果我尝试通过参数指定值,则ngIf模板不会更新(显示或隐藏)
如果我从类中的其他位置指定value参数的值,则模板不会更新
您this在该处理程序中出错的常见症状
使用箭头函数https://basarat.gitbooks.io/typescript/content/docs/arrow-functions.html
| 归档时间: |
|
| 查看次数: |
14382 次 |
| 最近记录: |