2016-12-16 68 views
1

我有一個父組件,它會調用ajax並從後端獲取網格中的數據。爲了呈現網格數據,我創建了一個子組件,我將該列表作爲綁定傳遞,但每當我更改父組件中的列表時,子組件都不會觸發onchange事件。我的代碼如下。還有一件事,我正在使用這些父母和孩子組件下使用低劣的kendo tabstrip的另一個組件。我使用的標籤欄的官方理由,但我只是討厭的那一刻,他們是專爲jQuery的,但具有角comaptible角度子組件沒有觸發列表上的更改事件

父組件的標籤

<div layout="column"> 
    <md-content> 
     <div layout="row"> 
      <member-mvlicense-grid member-id="vm.memberId"></member-mvlicense-grid> 
     </div> 
    </md-content> 
</div> 

我的孩子分量越來越銷售的所有劍道控制

<md-content> 
    <div kendo-grid="vm.grid" options="vm.gridOption" ng-style="{'height':vm.gridHeight}" 
     k-on-change="vm.handleChange(data, dataItem, columns)"></div> 
</md-content> 

上改變事件的父

public $onChanges(onChangesObj: angular.IOnChangesObject): void { 
      //this.dataList = new Array<model.member.IMembersMVLicensesResult>(); 
      if (this.memberId && this.memberId.toString().toLowerCase() != "add") { 


this.membersMVLicensesService.getByMemberId(this.memberId).then((response) => { 
       this.timeString = new Date().getTime().toString(); 
       let someValue = response; 
       this.dataList = someValue; 
       console.log(this.dataList); 
      }, (error) => { 

      }); 
     } 
    } 

回答

0

劍道當網格填充(「列表」)時,網格更改事件不會觸發。

當用戶在網格中選擇表格行或單元格時觸發。

http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#events-change

填充電網在電網觸發它的數據綁定事件。 但是,它似乎沒有這個事件的角度綁定...至少我沒有找到一個。我試過k-on-dataBound和k-on-databound。

所以,它看起來像你必須將數據源事件在gridOption實現綁定,即:

$scope.gridOption= { 
     ... 
     dataBound: function() { 
     // your handleChange implementation 
     }, 

編輯 我找到了結合......這是

k-on-data-bound 

所以你可以嘗試,而不是k-on-change。

+0

我在kendo tabstrip中使用它而不是kendo grid –

+0

從提供的代碼中,您的子組件顯然是一個網格(「kendo-grid」),並且您的問題已經聲明onchange事件不會在您列出時觸發它。你也沒有任何地方是你的代碼,所以,你將不得不提供一個* runnable *的例子,清楚地顯示你的問題,如果你希望得到任何幫助。 –