Die AngularJS-Direktive muss zwei Eigenschaften überwachen

7

Ich mache ein Spiel in Angular. Jedes Spielerobjekt hat eine x und eine y Eigenschaft. Wenn sich der Spieler bewegt, möchte ich einen Timer starten, der einige Hintergrundpositionen im Sprite-Blatt durchläuft.

Ich dachte, ich würde das mit einer Direktive machen. Das Problem ist, dass Direktiven normalerweise nur einen Ausdruck zum Beobachten erlauben:

%Vor%

Das Schöne an diesem Ansatz ist, dass die test -Direktive nicht davon ausgehen muss, dass der Bereich eine bestimmte Eigenschaft hat. Sie sagen ihm, was Sie verwenden sollen, wenn Sie die Direktive verwenden.

Das Problem ist, dass ich in meinem Fall etwas wegwerfen muss, wenn sich x ODER y ändert. Wie kann ich das tun?

%Vor%

Gibt es den besten Weg, dies zu tun, an den Sie denken können? Im Grunde möchte ich eine Direktive machen, die etwas an einem Timer macht, wenn sich eine von mehreren Eigenschaften ändert.

    
Sean Clark Hess 11.11.2012, 04:24
quelle

4 Antworten

14

Die einfachste und am besten lesbare Lösung ist meiner Meinung nach, zwei Attribute zu verwenden und einfach zwei Uhren einzurichten:

%Vor%     
Pete BD 11.11.2012, 08:06
quelle
7

Ich würde versuchen, eine Funktion in der $ watch-Funktion zu verwenden.

Hier ist der Plocker

%Vor%     
maxisam 11.11.2012 19:59
quelle
1

Es gibt einige Arbeitsumgebungen für dieses

Beobachten Sie mehrere $ scope-Attribute

Zypern

    
Everton Yoshitani 11.11.2012 04:47
quelle
1
%Vor%

siehe dieser Link

Sie können auch $ watchGroup verwenden - siehe diesen Link

    
Omid-RH 06.12.2015 16:32
quelle

Tags und Links