एम्बर के साथ खेलना, मैंने पाया कि कभी-कभी मॉडल नियंत्रक की content
संपत्ति पर संग्रहीत होता है, कभी-कभी मॉडल सीधे नियंत्रक पर भी उपलब्ध होता है। हालांकि, यह मामला नहीं है, जब यह मामला है।टेम्पलेट से मॉडल तक पहुंच
मुझे इसे एक उदाहरण के द्वारा समझाएं जो मुझे अपने एम्बर एमवीसी को इकट्ठा करते समय मिला।
सेटअप एक - शुरुआत
- मैं एक कस्टम
Member
वस्तु परिभाषित, इसीMemberRoute
,MemberView
वर्गों और एक टेम्पलेट नामmember
साथ। Member
वस्तु कुछ विशेषताओं ऐसेid
,nickname
, आदि- नोट के रूप में था: प्रपत्र
MemberController
का कोई नियंत्रक परिभाषित किया गया था, इस प्रकार एंबर की प्रथा के अनुसार, यह अपने आप ही नियंत्रक प्रदान करता है।
सेटअप बी - अनुकूलन
- सेटअप एक के रूप में एक ही है, लेकिन अब वहाँ एक
MemberController
परिभाषित है कि कुछ कार्रवाई तरीकों कि टेम्पलेट के भीतर से ट्रिगर कर रहे हैं होता है।
अजीब व्यवहार (resp। क्या मैं पूरी तरह से नहीं समझते हैं)
- सेटअप एक में, मैं
Member
का उल्लेख कर सकते है सीधे{{id}}
या{{nickname}}
साथ जिम्मेदार बताते हैं। - सेटअप बी में, मैं किसी को मेरी मदद कर सकता है समझने के लिए क्यों अंतर और जहां अंतर
{{content.id}}
या{{content.nickname}}
उपयोग करने के लिए के रूप में एंबर के दस्तावेज़ में दर्ज है, MemberView
setupController : function(controller, member) {
controller.set('content', member);
},
करता है तो, है? वर्तमान में, मेरा अनुमान है या तो
- होगा कि टेम्पलेट के संदर्भ में अलग है (संभवतः वहाँ एक कोड नियंत्रक के सेटअप में लापता टुकड़ा है?)
या
- स्वचालित नियंत्रक जो स्वचालित रूप से एम्बर द्वारा प्रदान किया जाता है, में कुछ अतिरिक्त जादू है जो अनुकूलित नियंत्रकों के लिए सीधे उपलब्ध नहीं है।
इसे समझने में कोई भी सहायता अत्यधिक सराहना की जाती है। जहां तक इस तक आने में काफी समय लगा है। मैंने पहले सोचा था कि यह परियोजना सेटअप द्वारा आवश्यक जेएसएस के साथ मॉड्यूलरलाइजेशन हो सकता है (ठीक है, मुझे अभी भी लगता है कि इसका प्रभाव हो सकता है)। एम्बर v1.0pre4 है।
अग्रिम धन्यवाद! पैट्रिक
सही, धन्यवाद माइकल। यह केवल व्याख्या नहीं है, लेकिन मेरे कोड में क्या गलत था। मेरे पास 'App.MemberController = Ember.Controller.extend ({}) था;'। कम से कम बग नियंत्रकों की बेहतर समझने देता है। फिर से thx! पी –