我的应用运行Angular 2.4.1和PrimeNG 1.1.1。 它使用如下数据表:
<p-dataTable *ngIf="selectedWebSearch" [value]="selectedWebSearch.results" selectionMode="single" [(selection)]="selectedSearchResult"
列应动态呈现,因此我使用模板:
<p-column *ngFor="let property of properties" header="{{property}}">
<template let-col let-rowData="rowData" let-rowIndex="rowIndex" pTemplate="body">
id{{rowData.getId()}} <-- does not work
id{{rowData.id}} <-- does workwork
</template>
</p-column>
我想知道为什么调用存在的方法getId()
会导致此异常:
ORIGINAL EXCEPTION: self.context.rowData.getId is not a function
相反,使用成员变量会打印正确的值。
有什么想法吗?
更新:
另一个例子:
我有一个主成分,它有一个成员变量selectedWebSearch
。一个网络搜索在其他属性中有一个名称。
出于测试目的,我可以将其名称打印为输出:
{{selectedWebSearch?.name}}
现在我向Web搜索类添加一个方法getHello
,它返回一个简单的字符串“hello”并按照这样打印
`{{selectedWebSearch?.getHello()}}“
然后我收到此错误跟踪:
TypeError:self.context.selectedWebSearch.getHello不是函数 at CompiledTemplate.proxyViewClass.View_SemanticSearchComponent0.detectChangesInternal(component.ngfactory.js:1451) 在CompiledTemplate.proxyViewClass.AppView.detectChanges(core.umd.js:12592) 在CompiledTemplate.proxyViewClass.DebugAppView.detectChanges(core.umd.js:12739)
有什么想法吗?