Ich könnte dies überdenken und deshalb bin ich hier. :)
Hinweis: Im folgenden Beispiel ist das Objekt "ctrl" der Controller-Alias der Komponente. var ctrl = dies;
Lassen Sie uns sagen, dass wir eine Komponente haben, die zwei Bindungen hat, wo man optional ist:
bindings: {
params: '<',
company: '<?'
}
Manchmal ist das Unternehmen zur Verfügung steht, ist es manchmal nicht.
Die $ onChanges sieht ungefähr so aus:
ctrl.$onChanges = function(changes) {
if (changes.params || changes.company) {
console.log('executed');
}
}
Es scheint, dass, wenn beide Bindungen aktualisiert werden, $ onChanges zweimal ausgeführt wird. Beim ersten Mal ist ctrl.company (die Bindung) in der Komponente null, obwohl ich tatsächlich diese Bindung mit einem Wert aktualisiert habe. Beim zweiten Mal hat ctrl.company seinen Wert.
Jetzt verstehe ich, dass die OR-Operation möglicherweise nicht korrekt ist. Ich bin nur ein wenig unsicher, wie $ onChanges funktioniert.
Ich werde aktualisieren, wenn meine Beschreibung des Problems unklar ist.
Vielen Dank im Voraus.