Ich habe eine übergeordnete Komponente, die einen Ajaxaufruf durchführt und die Daten vom Back-End für das Grid erhält. Zum Rendern von Grid-Daten habe ich eine Child-Komponente erstellt, in der ich die Liste als Bindung übergebe, aber wenn ich die Liste in meiner Eltern-Komponente ändere, löst die Child-Komponente niemals ein Change-Event aus. Mein Code ist unten. Noch eine Sache, die ich diese Eltern- und Kindkomponenten unter einer anderen Komponente benutze, die beschissene kendo Tabstrip benutzt. Ich verwende für offizielle Grund Tabstrip aber ich hasse alle Kendo Kontrollen zur Zeit sie für jquery konzipiert sind, jedoch mit dem Label der Winkel comaptibleEckige untergeordnete Komponente löst kein Änderungsereignis in der Liste aus
Geordnete Komponente
<div layout="column">
<md-content>
<div layout="row">
<member-mvlicense-grid member-id="vm.memberId"></member-mvlicense-grid>
</div>
</md-content>
</div>
My Child Komponente
verkauft zu werden<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>
Elternteil auf Änderungsereignis
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) => {
});
}
}
Ich verwende es in Kendo Tabstrip nicht kendo Gitter –
Aus dem bereitgestellten Code ist Ihre Kindkomponente eindeutig ein Gitter ("Kendo-Grid") und Ihr Problem wurde festgestellt, dass das Onchange-Ereignis nicht feuert, wenn Sie auflisten es. Sie haben auch keinen Tabstrip, wo auch immer Ihr Code ist. Sie müssen also ein * runnable * -Beispiel angeben, das Ihr Problem deutlich zeigt, wenn Sie Hilfe erwarten. –