Es funktioniert nicht, weil die Art, wie Sie es getan haben, Sie sagen, dass Sie die Zeichenfolge der mnuClick
-Funktion bereitstellen möchten.
Wenn Sie xxx
angeben, ist dies tatsächlich richtig, daher benötigen Sie die Anführungszeichen hier.
Aber wenn {{choice}}
verwenden, wollen Sie nicht THAT Zeichenfolge, aber Sie wollen, dass die Expression ausgewertet werden und das Ergebnis als Parameter (was wahrscheinlich ist ein String) - daher müssen Sie nicht die Anführungszeichen (und nicht einmal die geschweiften Klammern) hier.
So schreiben Sie einfach
<a class="btn" ng-click="mnuClick(choice)">{{choice}}</a>
und du bist fein :-).
Um es kurz zu machen: In einem Fall behandeln Sie einen Ausdruck, der in eine Zeichenfolge aufgelöst wird, im anderen Fall behandeln Sie direkt eine Zeichenfolge. Daher brauchen Sie einmal keine Anführungszeichen, das andere Mal.
Wenn Sie nähere Informationen zu wollen, wenn geschweiften Klammern zu verwenden, und wenn nicht, überprüft this answer auf diese Frage: Difference between double and single curly brace in angular JS?
Hoffnung, das hilft.
PS: In dem Text Ihrer a
Tag, Sie Notwendigkeit die doppelten geschweiften Klammern, wie Sie nicht in einem AngularJS gesteuerten Code-Block hier sind - daher müssen Sie es als verbindlich markieren, sonst ist es‘ d sei einfach Text innerhalb von HTML.
in Ausdrücken Sie nicht doppelt geschweiften Klammern müssen. http://stackoverflow.com/questions/17878560/difference-between-double-and-single-curly-brace-in-angular-js. Es ist von SPEC –