全部,

尝试绑定(bind)到模型上的函数时出现错误

我有以下Component,Model和Html(在此示例中均为假)

export class TestModel {
  public getSomeValue(): string {
     return "Hello World";
  }
}

让我们假设testModels属性以某种方式获取数据。
@Component(...)
public class MyComponent {
  public testModels: TestModel[];

  ngOnInit() {
    this.loadData();
  }

  public loadData(): void
  {
     this.http.get("...")
     .map(r=>r.json as TestModel[]) // <--- I think now you've asked the question, I see the problem on this line
     .subscribe(d=>this.testModels = d);

  }
}

现在在我的html中
<div *ngFor="let testModel of testModels">
  <span>{{testModel.getSomeValue()}}</span> <!-- This fails -->
</div>

这是完整的错误:



是不可能绑定(bind)到.getSomeValue()还是我做错了吗?

我假设基于此self.context.$implicit.某种程度上失去了上下文,而不是在模型上调用方法,而是尝试在“它的自身”上调用它,这是什么呢?

谢谢

小号

编辑:添加了代码,以显示如何实例化testModels

最佳答案

as TestModel[]不会使其成为TestModel。它只是告诉 typescript 编译器(和linter)可以安全地假定r.jsonTestModel[]

另请参阅JSON to TypeScript class instance?

关于Angular 2模型函数插值-self.context。$ implicit.X不是函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40235416/

10-12 00:19