javascript - angularjs how to access ng-repeat filtered value outside its scope -
मेरे पास मेरे दायरे में परिभाषित एक जेसन है
$ scope.People = [ "[नाम]": "[नाम]": "मछली", "आईडी": 1} "प्रथम नाम": "जॉन", "अंतिम नाम": "डो", "विकल्प": [{"नाम": "रात्रिभोज", "विकल्प" {"नाम": "चिकन", "आईडी": 2}, {"नाम": "बीफ", "आईडी": 3}]}, {"नाम": "दोपहर का भोजन", "विकल्प": [ "नाम": "मैकरोनी", "आईडी": 1}, {"नाम": "पीबी एंड जे", "आईडी": 2}, {"नाम": "मछली", "आईडी": 3}]} ]}, {"प्रथम नाम": "जेन", "अंतिम नाम": "डो"}]; मेरे पास खोज फ़िल्टर है जो खोज नामों पर खोज करता है और उन्हें फ़िल्टर करता है। यह ठीक काम कर रहा है लेकिन मैं सभी एनजी-दोहराने के बाहर फ़िल्टर किए गए परिणाम (कुल परिणाम) की संख्या प्रदर्शित करने की योजना बना रहा हूं।
कोड स्निपेट:
& lt; div ng-controller = "ExampleController" & gt; सुनिश्चित करने के लिए एनजी-दोहराने का दायरा अपने माता-पिता को कैसे प्राप्त करें। & Lt; इनपुट प्रकार = "टेक्स्ट" एनजी-मॉडल = "q" प्लेसहोल्डर = "फिल्टर विकल्प ..." / & gt; & lt; br / & gt; & Lt; मजबूत & gt; कार्य नहीं करना: & lt; / strong & gt; मेरे पास {{results.length}} फ़िल्टर किए गए परिणाम & lt; br / & gt; & lt; br / & gt; & Lt; div ng-repeat = "लोगों में लोग" ng-hide = "results.length == 0" & gt; & Lt; मजबूत & gt; कार्य: & lt; / strong & gt; मेरे पास {{results.length}} फ़िल्टर परिणाम {{people.firstName}} पूरा कोड @
आपकी प्रतिक्रिया की सराहना करें।
समस्या यह है कि एनजी-दोहराने से एक बच्चा गुंजाइश पैदा होती है और आप उस बच्चे के दायरे में मान को एक अभिभावक के दायरे से संदर्भित करने का प्रयास कर रहे हैं। इसके आसपास पाने के लिए, आपको अपने नियंत्रक में $ scope.results = [] बनाना चाहिए और फिर करना चाहिए:
& lt; div ng-repeat = "$ parent.results में विकल्प = (लोग। विकल्प | फिल्टर: क्यू) "& gt; यह उसे उस परिणाम वेरिएबल में संग्रहीत करने के लिए मजबूर करेगी जो कि $ parent scope ("ExampleController") में है, जिस पर आप इसका उपयोग करने का प्रयास कर रहे हैं। < P> यहां काम करने वाला एक प्लंकर है:
Comments
Post a Comment