aus der Angular-Dokumentation entnommen:Wenn doppelte Klammern verwenden {{}} in AngularJS
Angular Expressions
Angular Ausdrücke sind JavaScript-ähnlicher Code-Schnipsel, die hauptsächlich platziert in Interpolation Bindungen sind wie
<span title="{{ attrBinding> }}">{{ textBinding }}</span>
, sondern auch direkt in der Richtlinie Attribute wieverwendet.
Zum Beispiel sind diese gültige Ausdrücke in Eckig:
1 + 2 a + b user.name Artikel [index]
Jedoch habe ich ein wenig verwirrt bin, wann die verwenden Doppelstreben Syntax {{}}
und wenn nicht zu. Die Dokumentation scheint darauf hinzuweisen, dass Sie sie nicht benötigen, wenn Sie Ausdrücke innerhalb der Direktivitätsattribute verwenden (siehe oben das ng-click-Beispiel).
Obwohl der folgende Code, der im Gegenteil bietet anekdotische Evidenz funktioniert:
<ul id="Menu">
<li ng-repeat="appModule in applicationModules" id="{{appModule.Name}}" ng-class="{ 'selected' : selectedAppModule == '{{appModule.Name}}' }" ng-click="menuClicked(appModule.Name)">
<a href="#Content/{{appModule.Name}}">{{appModule.Display}}</a>
</li>
</ul>
Beachten Sie, wie in der ng-Klasse-Richtlinie werden die Doppelstreben verwendet und innerhalb der ng-Click-Richtlinie sind sie nicht.
Woher wissen Sie wann und wann nicht?
Sie verwenden Klammern, wenn Sie ihren Wert erhalten möchten, und Sie nicht Klammern verwenden, wenn Sie es als Variable verwenden möchten – MayK