2013-04-16 9 views
6

Im folgende Beispiel: http://plnkr.co/edit/OZjg6sUgl35GIriaabQg?p=previewAngular Richtlinie, Link nicht aufgerufen, wenn Attribut aktualisiert

I 2 Richtlinien habe, das showCard man innerhalb einer ng-repeat der link Funktion jederzeit aufgerufen werden, das Attribut aktualisiert wird. (siehe die Konsole)

Die andere showCards funktioniert ordnungsgemäß, aber die link Funktion wird nicht aufgerufen, wenn das Attribut aktualisiert wird, aber nur einmal am Anfang.

Ich möchte den Unterschied zwischen diesen 2 Arten verstehen.

Antwort

9

Die Verknüpfungsfunktion wird nur einmal pro Element aufgerufen. Wenn Sie also eine neue Karte hinzufügen, fügt die ngRepeat-Direktive ein neues <show-card ...> hinzu, das die Verknüpfungsfunktion aufruft.

Wenn Sie einige Funktion jedes Mal auszulösen cards geändert wird Sie einen $ Uhr-Funktion auf den Rahmen in der Showcards Link-Funktion, wie folgt hinzufügen:

$scope.$watch('cards',function(){ 
    console.log('multi',$scope.cards); 
    },true); 
+0

Danke - Ich habe Probleme, mit ein identisches Problem seit Ewigkeiten! –

Verwandte Themen