Angular get @input数据未打印在模板上

时间:2018-01-21 11:18:00

标签: angular

我想在Oninit中使用@input数据。输入数据不会打印在模板中,但会在控制台日志中打印出来。

// foo-child.ts
@Input('tableData')
set tableData(tableData) {
  if (tableData) {
    this.tableDataReceived = this.tableDataShow = tableData;
    this.totalRows = this.tableDataShow.length;
  }
}

// foo-child.html
<div class="block">
  <div class="block50 selected-text"><span *ngIf="selectedRow">{{selectedRow.length}}</span><span *ngIf="!selectedRow">0</span> Requisition Selected</div>
  <div class="block50 result-no">10 of <span *ngIf="tableData">{{totalRows}}</span> Results</div>
</div>

// foo-parent.html
<foo-child *ngIf="tableData" [tableData]="tableData"></foo-child>

1 个答案:

答案 0 :(得分:0)

如果您使用setter进行输入,则*ngIf="tableData"永远不会评估为true。要使其停止使用设置器或将条件更改为:*ngIf="totalRows"