Angular 4模板错误:'anonymous'不包含这样的成员

时间:2017-07-05 03:46:41

标签: angular typescript angular-template

Angular 4

撰写的

Typescript 2.3.4

component.ts

/**
 * Info that drives the tabs in the template. Array is filled
 * in ngOnInit() once data is received from the server
 */
public tabs:Array<{
  title:string,
  description:string,
  data:Array<{name:string}>
}>=[];

component.html

<section *ngFor="let t of tabs">
  ...
  <div *ngFor="let i of t.data">{{i.name}}</div>
                                  ^^^^^^
</section>

编译错误

  

Angular:未定义标识符'name'。 <anonymous>不包含此类成员

起初我认为这与my other issue有关,但这是不同的,因为tabs模型的形状没有歧义:该组件清楚地表明name是属性data数组的每个成员,本身是tabs数组的每个成员的属性。

这里发生了什么?

2 个答案:

答案 0 :(得分:1)

解决方案有效!

这给了我这个信息:

  

标识符“问题”未定义。 ”不包含此类成员

加下划线

<div class="card-header">
          {{q.question}}  <!- underline this line with red color -->
            ^^^^^^^^^^
</div>

这是一个打字稿问题,您必须将制表符声明为任何类型,以避免出现此问题
tabs : any [];

答案 1 :(得分:0)

尝试在绑定中添加安全导航操作符(?),这允许您在路径最初有效或可能无效的情况下导航对象路径。

  <div *ngFor="let i of t.data">{{i?.name}}</div>