Eine Möglichkeit, dies zu erreichen, ist in Winkel des neuen Komponentenmethoden einzuzuhaken heißen $onChanges
und $onInit
.
Wenn products.list.component.js
sagt einen API-Aufruf auf dem Produkt-Objekt, das dann einen neuen $ctrl.results
Datensatz rendert.
Sie könnten product-result.js
Komponente überprüfen Sie die Einwegbindung für $ctrl.results
mit der neuen $onChanges
Methode. $onChanges
wird aufgerufen, wenn unidirektionale Bindungen aktualisiert werden. Die Methode übernimmt einen Änderungsobjektparameter. Das Änderungsobjekt enthält Schlüssel, die Namen der gebundenen Eigenschaften sind, die geändert wurden.
Ihr Code für product-result.js
könnte
/**
* @ngdoc function
* @name $onInit
* @description on bootstrap for the component check if the value `ctrl.results ` is falsy
*/
$onInit: function $onInit() {
if (!this.results) {
this.showNoDataAvaliable = true;
}
},
/**
* @ngdoc function
* @name $onChanges
* @description when component product-list passes a new value for $ctrl.results, Show the data.
* @param {Object} changes the changes object when any binding property is updated, this is similar to
* having a watch function on $scope.variable
*/
$onChanges: function $onChanges (changes) {
if (changes.data && changes.data.currentValue) {
this.showNoDataAvaliable = false;
//... more code on how to display the data.
}
}
Todd Motto hat eine große Blog-Post über Winkel 1.5 Komponente, empfehle ich Ihnen https://toddmotto.com/angular-1-5-lifecycle-hooks
Hinweis: Wir können Ihren Bildschirm nicht sehen. –
Versuchen Sie, $ vor dem Variablennamen zu entfernen – Prasheel