AngularJS checkbox überprüft, wenn in ng-repeat

8

Ich weiß, dass die Lösung nicht sehr hübsch ist, aber sie wird für die Vorlage benötigt, in der ich arbeite.

Jetzt funktioniert es, und es zeigt mir das "added" span-Element, wenn die Produkte in der Liste waren.

%Vor%

Was ich will, muss das Kontrollkästchen aktivieren, wenn der "hinzugefügte" Text auch hinter dem Kontrollkästchen erscheint.

Ich habe es versucht mit:

%Vor%

Aber das funktioniert nicht. Weil die Produkte in einem Array wie:

%Vor%

Und das my.profile.items ist ein Array mit mehr Informationen als oben. Weil es eine Viele-zu-Viele-Beziehung ist, in der ich sie gespeichert habe.

Gibt es überhaupt einen Weg dies zu tun? Mir macht eine schmutzige Lösung nichts aus: P

Ich habe es versucht:

%Vor%

Dies gibt zurück: TypeError: Cannot read property 'push' of undefined

    
user1867254 20.08.2015, 19:07
quelle

4 Antworten

10

Fügen Sie diese Funktion Ihrem Controller hinzu:

%Vor%

Und für Ihren HTML-Gebrauch

%Vor%     
bumpy 22.08.2015, 20:09
quelle
4

Ein weiterer Trick, den Sie machen können, ist ein für Ihre Bedürfnisse spezifisches Ansichtsmodell zu erstellen.

So haben Sie zum Beispiel das Array von Produkten und Artikeln im Profil.

In der Steuerung könnten Sie Folgendes tun:

%Vor%

Nachdem Sie nun Ihre Daten in der Ansicht nach Bedarf erstellt haben, können Sie Folgendes tun:

%Vor%

Wenn ich Daten aus mehreren Quellen kombiniert habe, bevorzuge ich es vorher im Controller zu bearbeiten und ein viewModel zu erstellen das wird mein Leben in der Aussicht erleichtern.

    
Andrés Soto 29.08.2015 05:44
quelle
2

Sie müssen so etwas implementieren AngularJs ng-checked mit einer Funktion

Sie müssen nur Ihre eigene Logik implementieren, basierend auf Ihrem vielen zu vielen Produkt-Array und geben Sie entsprechend wahr oder falsch zurück.

    
Syed Ekram Uddin Emon 24.08.2015 19:54
quelle
0

Fügen Sie dies nach dem Kontrollkästchen

hinzu %Vor%

und entfernen Sie die div .

    
Adrian Ber 20.08.2015 20:44
quelle

Tags und Links