无法使用PrimeNG数据表调用Angular 2模板中的函数

时间:2017-01-02 16:20:54

标签: angular primeng

我的应用运行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)

有什么想法吗?

0 个答案:

没有答案