【发布时间】:2020-03-27 06:15:10
【问题描述】:
在我的 Angular 6 应用程序 .html 文件中,我的代码如下
<div *ngIf="checkForStatus()" class="row">
.......
</div>
在 .ts 文件中,我的代码如下:
@Input() values: OrderResponse;
checkForStatus() {
this.values.signers.forEach((ele)=>{
...................
return ....something.
}
}
在这里,我从 ts 文件的 HTML 函数中获取值,但有控制台错误提示 无法读取 **undefined 的属性签名者。**
因此我将模板的逻辑更改如下:
<div *ngIf="values.signers">
<div *ngIf="checkForStatus()" class="row">
.......
</div>
</div>
只是用 *ngIf 将代码用 div 包装起来,这行得通吗?但这是一个合适的情况吗?我在这里错过了什么吗?可能是不好的做法?
请注意,我在 html 文件中直接使用 @Input values。
【问题讨论】:
-
你能安慰
values看看里面有什么吗? -
它正在返回 vaue,这不是问题,我的直觉是在 ts 代码完成之前模板正在渲染。
-
在
ngOnChanges生命周期钩子上检查@Input值是在初始加载时分配还是需要时间?如果需要时间,请在此处添加条件并在您的 ts.xml 中创建一个变量。在您的HTML中使用相同的
标签: angular