2013-09-24 15 views
8

मैं यूई-बूटस्ट्रैप मोडल स्कोप के साथ कुछ अजीबता देख रहा हूं। ऐसा लगता है कि इसमें एनजी-मॉडल का उपयोग करते समय, आपको मोडल नियंत्रक के दायरे तक पहुंचने के लिए $ माता-पिता का संदर्भ देना होगा। मेरे प्लंकर में नोटिस कि अन्य गुणों जैसे एनजी विकल्पों को $ माता-पिता की आवश्यकता नहीं है: http://plnkr.co/edit/xGSHz4EkZvGr2D6CUeBz?p=previewयूई-बूटस्ट्रैप मोडल स्कोप बग

कोई विचार क्यों? मुझे यहां एक समान समस्या मिली: Scope issues with Angular UI modal

इससे मुझे $ माता-पिता परिवर्तन करने की कोशिश की गई, लेकिन मैं उस धागे पर टिप्पणी करने में असमर्थ हूं क्योंकि मेरे पास पर्याप्त प्रतिष्ठा नहीं है।

कोई विचार क्यों दायरा बदलना प्रतीत होता है?

धन्यवाद!

उत्तर

14

मोडल का अपना दायरा है (मैंने कभी भी कोणीय यूआई का उपयोग नहीं किया है, लेकिन यह एकमात्र चीज है जो हो सकती है) और जब आप "चयनित स्थान" सेट कर रहे हैं तो संपत्ति मोडल के दायरे पर सेट हो रही है और नहीं नियंत्रक का दायरा $ माता-पिता इसे आपके नियंत्रक के दायरे को प्राप्त करने के लिए मजबूर कर रहे हैं, लेकिन यह एक अच्छा समाधान नहीं है क्योंकि आप अपने स्वयं को एक निश्चित संरचना में लॉक कर लेंगे, मानते हैं कि मोडल के माता-पिता के पास "मॉडल" है।

यहाँ, अपने नियंत्रक गुंजाइश पर एक मॉडल वस्तु का उपयोग कर एक संशोधित Plunker (model.selectedLocation का उपयोग) है http://plnkr.co/edit/B5kZaIA5xi2RediUTBK7?p=preview

फिर भी यदि आप "$ scope.model.selectedLocation" की तरह कुछ पर अपनी संपत्ति डाल व्यवहार में बदलाव लाती है कि । अब, जब मैं मोडल पर "model.selectedLocation" का संदर्भ देता हूं, तो मोडल के दायरे में मॉडल ऑब्जेक्ट नहीं होता है, इसलिए कोणीय आपके नियंत्रक के दायरे में स्कोप चेन चला जाता है (जिसमें मॉडल ऑब्जेक्ट होता है)।

जॉन लिंडक्विस्ट से इस वीडियो को देखें, मुझे लगता है कि यह मुझे इससे भी बेहतर समझा सकता है। :-) http://egghead.io/lessons/angularjs-the-dot

संबंधित मुद्दे