2016-04-15 10 views
0

Im folgenden Ausschnitt reagieren:Wie auf Änderungen in einer Art und Weise Bindungen

angular.module('myModule') 
     .component('myComponent', { 
      controller : [ 
       MyComponentController 
      ], 
      bindings: { 
       input: '<' 
      } 
     }); 

Nach documentation - section "Components have a well-defined lifecycle" um uns $onChanges Lifecycle-Methode geändert zu überwachen, dass die Bindung input hat könnten. Ich kann es nicht funktionieren lassen.

Thi ist, wie ich es bin mit:

Funktion MyComponentController() {. Selbst $ onChanges = function (changesObj) {// einige Code hier } }

Aber der Code doesn geh nicht mal in die Funktion.

+0

Wie versuchen Sie, die Bindung zu ändern? Es würde helfen, auch diesen Teil des Codes zu sehen. –

+0

@JoeClay Ich bin gerade auf dieses Problem gekommen: https://github.com/angular/angular.js/issues/14030 Es scheint, dass ich alles gut mache, nur das Angular v. 1.5.0 hat einen Fehler. Es sollte in 1.5.3 funktionieren. Ich werde es versuchen. – zatziky

+0

@JoeClay Es war tatsächlich der Fehler. In den Versionshinweisen heißt es jedoch, dass es in Version 1.5.4 korrigiert wurde. https://github.com/angular/angular.js/blob/master/CHANGELOG.md#154-graduated-sophistry-2016-04-14 – zatziky

Antwort

1

Wie wir in den Kommentaren herausgefunden, war das Problem, dass die $onChanges Haken (zusammen mit $onDestroy und $postLink) nicht bis Version 1.5.3 von Angular hinzugefügt wurden, und zatziky 1.5.0 wurde unter Verwendung, die nur implementiert die $onInit Haken. Es scheint ein bisschen komisch für sie zu sein, ein so großes Feature in einem Patch-Level-Release hinzuzufügen, aber zumindest war es eine einfache Lösung.

1

Es war ein Fehler in der Version 1.5.4 behoben.

Allerdings verwende ich Version 1.5.3 und es funktioniert. Seltsam ...

aktualisieren

@JoeClay hat bemerkt, dass es nicht um einen Fehler überhaupt war. Die $onChanges wurde in Version 1.5.3 hinzugefügt.