在我的角度应用程序中,我收到此错误
“无法读取未定义的属性'name'
我无法在我的代码中找到问题。 我使用名字的唯一地方是选择
以下是第24行的选择组件的HTML
<section *ngIf="setPlainHeader" class="p-l-xxl p-r-xxl p-b-md category bg-white-only box-shadow">
<div class="form-group nav navbar-nav navbar-btn m-t-xs m-b-xs">
<label class="col-sm-4 control-label p-t-xs m-t-xs">Category:</label>
<div class="col-sm-8 p-t-xs">
<select
*ngIf="Categories"
(change)="categoryChange()"
name="category"
[(ngModel)]="selectedCategory"
class="form-control">
<option
*ngFor="let item of Categories | async "
[value]="item.categoryId" label="">
{{item?.name}}
</option>
</select>
</div>
</div>
</section>
以下是ts
中的代码selectedCategory: any = '-1';
ngOnInit() {
this.Categories=this.commonServ.getCategoryData()
}
categoryChange() {
this.commonServ.setSelectedCategory(this.selectedCategory);
}
类别加载但在控制台中我不断收到此错误,导致渲染中出现其他一些问题。
编辑:我试图缩小问题的范围 使用 setPlainHeader 在某些页面上可以看到标题中的部分。因此,当元素(部分)被隐藏/可见时,我会收到此错误。任何人都可以指导我到底需要做什么。
由于
答案 0 :(得分:0)
尝试使用安全导航?
运算符,如下所示 -
{{item?.name}}
答案 1 :(得分:-1)
问题出在* ngIf =&#34; setPlainHeader&#34;
所以我更改了我的代码并添加了一个超时,将值分配给setPlainHeader
this.abcService.getHeaderStatus().subscribe(
data => {
setTimeout(function () {
self.setPlainHeader = data;
}, 100);
});
这很有效,最后错误消失了。
由于