Frage

Einige Freunde und ich arbeiten an einem Projekt. Dies ist das zweite Projekt, in dem ich mit Angularjs arbeite, wobei derzeit Version 1.2.3 verwendet wurde.

Trotzdem finde ich manchmal etwas von seinem Verhalten seltsam, und verstehe nicht, warum etwas passiert.

Die Situation ist also ... Ich habe in meiner CSHTML-Datei das Followig:

generasacodicetagpre.

In meiner JavaScript-Datei habe ich den folgenden Code in einer Richtlinie:

am Anfang:

generasacodicetagpre.

und ich habe folgendes:

generasacodicetagpre.

Und wenn ich das Kontrollkästchen prüfe oder deaktiviere, bekomme ich immer true ... Der besondere Teil ist jedoch, dass sich der Inhalt innerhalb der generationspalaeticetagcode -Tags ändert .... Es ist also, als würde ich den Wert einer Variablen auf der HTML-Ebene ändern, aber nicht auf der JavaScript-Ebene ...

Warum passiert das?

Ich habe das Problem gelöst, indem ich $ parent.displayregardlessofsomething habe, aber ich verstehe nicht, warum das Problem behoben ist ... Was hat das Problem an erster Stelle verursacht?

War es hilfreich?

Lösung

Ich habe versucht, was Sie in der Geige getan haben, und es funktioniert gut für mich.

http://jsfiddle.net/nicolasmoise/x9kyu/1/

.

Die Tatsache, dass es für Sie funktioniert, wenn Sie $parent verwendet haben, glauben Sie, dass ein übergeordneter Controller hier störrt ist.Vielleicht haben Sie zwei Variablen mit den gleichen Namen?

p.s.: Denken Sie daran, dass in JavaScript Primitive, die Primitive von Wert übergeben werden, und Objekte werden mit Bezug genommen.Dies ist die Ursache vieler Fehler für eckige Entwickler.Sehen Sie diese Geige, in der ich meinen Punkt illustriere.

mit primitiven: http://jsfiddle.net/nicolasmoise/x9kyu/

mit Objekten: http://jsfiddle.net/nicolasmoise/x9kyu/2/

Andere Tipps

Es sei denn, Sie sind mir ziemlich sicher, dass alles in demselben Bereich lebt, der fast nie nie ist, Sie sollten irgendwo einen Punkt irgendwo in Ihrem NG-Modell-Ausdruck haben haben.

generasacodicetagpre.

siehe Dieser PLUNNER für Details für Live-Demo.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top