यह काम नहीं करता है, क्योंकि जिस तरह से आपने यह किया है, आप कह रहे हैं कि आप स्ट्रिंग {{choice}}
mnuClick
फ़ंक्शन पर स्ट्रिंग प्रदान करना चाहते हैं।
xxx
प्रदान करते समय, यह वास्तव में सही है, इसलिए आपको उद्धरणों की आवश्यकता है।
लेकिन जब {{choice}}
उपयोग कर, आप नहीं चाहते कि कि स्ट्रिंग, लेकिन आप चाहते हैं कि अभिव्यक्ति का मूल्यांकन किया जाना और उसके परिणाम (जो शायद एक स्ट्रिंग है) एक पैरामीटर के रूप - इसलिए आप उद्धरण की जरूरत नहीं है (और यहां तक कि घुंघराले ब्रेसिज़ भी नहीं) यहां।
तो बस लिखने
<a class="btn" ng-click="mnuClick(choice)">{{choice}}</a>
और आप ठीक :-) कर रहे हैं।
इसे छोटा करने के लिए: एक मामले में आप एक अभिव्यक्ति से निपटते हैं जो स्ट्रिंग को हल करता है, दूसरे मामले में आप सीधे स्ट्रिंग से निपटते हैं। इसलिए एक बार आपको कोट्स की आवश्यकता नहीं होती है, दूसरी बार जब आप करते हैं।
आप जब घुंघराले ब्रेसिज़ और जब उपयोग करने के लिए नहीं, this answer की जाँच इस सवाल का अधिक विस्तृत जानकारी चाहते हैं: Difference between double and single curly brace in angular JS?
आशा इस मदद करता है।
पुनश्च: अपने a
टैग के पाठ के अंदर, आप जरूरत डबल घुंघराले-ब्रेसिज़, जैसा कि आप एक AngularJS नियंत्रित कोड ब्लॉक यहाँ में नहीं कर रहे हैं - इसलिए आप इसे के रूप में बाध्यकारी चिह्नित करने के लिए, यह है अन्यथा ' डी सिर्फ HTML के अंदर पाठ हो।
स्रोत
2013-12-11 20:45:01
अंदर भाव आप डबल घुंघराले ब्रेसिज़ जरूरत नहीं है। http://stackoverflow.com/questions/17878560/difference-between-double-and-single-curly-brace-in-angular-js। एसपीईसी द्वारा इसका –