kac*_*s22 4 typescript angular
从未定义的对象中防止控制台错误的最佳方法是什么?
假设我有这个
name : string;
constructor(private data: DataService) {
this.data.name.subscribe(res => this.name = res);
}
Run Code Online (Sandbox Code Playgroud)
在我的HTML中,我有这个
<p> {{name}}</p>
Run Code Online (Sandbox Code Playgroud)
当我加载页面时,我_co.name没有定义,但页面仍显示值name.在我获取数据之前,组件正在加载.
防止这种情况的最佳方法是什么?
我看到ngIf的不是null或类似的东西,是一种选择.但后来我看到了一些关于Resolve的内容.
Bhu*_*bar 10
多种方式:您可以使用任何适合您的方式.
1.添加ngIf:如果name是undefined或null或''它不会使元素和防止控制台错误.当name被定义的值会自动更新视图.
*ngIf="name"
2.添加异步管道:无论何时name定义,视图都会更新.它等待name定义.
{{ name | async }}
3.添加回退值:这只是or条件.如果name是undefined或null或'',您可以决定分配哪个回退值.
{{ name || "" }}
只需初始化您的变量
name : string = "";
Run Code Online (Sandbox Code Playgroud)
或者你可以在构造函数里面做
this.name = "";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7666 次 |
| 最近记录: |