Angular 角度2插值
我试图通过插值从json中呈现不同的值,但出于某种原因,它只在迭代中起作用 例如:Angular 角度2插值,angular,Angular,我试图通过插值从json中呈现不同的值,但出于某种原因,它只在迭代中起作用 例如: <ul> <li *ngFor="let object of objects"> {{object.title}} {{object.text}} </li> </ul> 获取此错误:原始异常:TypeError:无法读取未定义的属性“0” 知道为什么会这样吗 谢谢 我敢打赌,您最初没有为对象设置值。您的代码可能与此类似 @Compone
<ul>
<li *ngFor="let object of objects">
{{object.title}} {{object.text}}
</li>
</ul>
获取此错误:原始异常:TypeError:无法读取未定义的属性“0”
知道为什么会这样吗
谢谢 我敢打赌,您最初没有为
对象设置值。您的代码可能与此类似
@Component({
...
})
class MyComponent {
objects;
ngOnInit () {
someHttpRequest().then((res) => objects = res);
}
}
Angular将在组件加载后立即尝试插值对象
,并且由于在此之后才给对象赋值,因此对象[0]
实际上是未定义的
您可以通过两种方式解决此问题-可能最简单的方法就是将任何对象[0]
引用包装到*ngIf
<div *ngIf="objects && objects.length > 0">
{{objects[0].foo}}
</div>
{{对象[0].foo}
我敢打赌,您最初没有为对象设置值。您的代码可能与此类似
@Component({
...
})
class MyComponent {
objects;
ngOnInit () {
someHttpRequest().then((res) => objects = res);
}
}
Angular将在组件加载后立即尝试插值对象
,并且由于在此之后才给对象赋值,因此对象[0]
实际上是未定义的
您可以通过两种方式解决此问题-可能最简单的方法就是将任何对象[0]
引用包装到*ngIf
<div *ngIf="objects && objects.length > 0">
{{objects[0].foo}}
</div>
{{对象[0].foo}
简单的答案是
{{Objects[0]?.title}} {{objects[0]?.text}}
简单的答案是
{{Objects[0]?.title}} {{objects[0]?.text}}
你能给我们看你的组件代码吗?你能给我们看你的组件代码吗?是的,我想问题是这样的,知道json响应来自外部api。但是正确的迭代渲染是非常错误的。。。我还是不明白那是怎么回事。如果对象是未定义的,那么它也应该在迭代中未定义。。。不管怎样,谢谢,效果很好!是的,我认为问题是这样的,因为知道json响应来自外部api。但是正确的迭代渲染是非常错误的。。。我还是不明白那是怎么回事。如果对象是未定义的,那么它也应该在迭代中未定义。。。不管怎样,谢谢,效果很好!