मैं एक टेम्पलेट के अंदर render
सहायक का उपयोग कर रहा हूं, जो एक टाइपहेड के साथ एक खोज बॉक्स प्रस्तुत करता है।एम्बर 1.0.0 - अब नियंत्रक को देखने से नहीं पहुंच सकता है?
अनिवार्य रूप से (कोड संक्षिप्तता के लिए हटाया):
script(type='text/x-handlebars', data-template-name='index')
{{render search}}
script(type='text/x-handlebars', data-template-name='search')
{{view App.TaggableInput valueBinding="searchText"}}
कौन सा मुझे एक SearchController
IndexController
से अलग कर देता है।
App.TaggableInput
अंदर मैं searchController
हथियाने रहा हूँ KeyUp घटना पर कुछ जाँच करने के लिए:
App.TaggableInput = Ember.TextField.extend({
keyUp: function(e){
var controller = this.get('controller');
// Do stuff with the controller
}
});
एंबर RC7 पर, मैं theview अंदर नियंत्रक का उपयोग कर सकते के रूप में आप this.get('controller').get('searchText')
साथ उम्मीद थी।
हालांकि एम्बर 1.0.0 this.get('controller')
में दृश्य देता है, और जो भी मैं करता हूं मुझे searchController
नहीं मिल सकता है।
मुझे क्या बदल रहा है या मुझे क्या करना है इसके बारे में एम्बर वेबसाइट पर कोई संबंधित जानकारी नहीं मिल रही है ... अभी के लिए मैं आरसी 7 के साथ चिपक रहा हूं।
कोई विचार? मैंने आज सुबह इस पर घंटों बिताए हैं और इसे समझ नहीं सकते हैं। धन्यवाद।
अद्यतन: फिक्स्ड!
मैंने this.get('controller')
को this.get('targetObject')
के लिए बदल दिया और यह पहले जैसा काम करता है। इसे खोजने के लिए a recent commit in ember source के माध्यम से एक peruse था ...
आपके सुझाव लोगों के लिए धन्यवाद!
मैं एक ही या 1.0.0 के साथ एक समान समस्या है। मुझे लगता है कि 'this.get (' नियंत्रक ') आपको' TaggableInputController 'बनाया गया implicilty देता है और आपके वर्तमान मार्ग के नियंत्रक नहीं। लेकिन यह सिर्फ एक अनुमान है। – splattne
'एम्बर। टेक्स्टफिल्ड' 'व्यू 'का विस्तार करने के लिए उपयोग किया जाता है। जब तक अन्यथा निर्दिष्ट नहीं किया जाता है, तो 'view' का 'नियंत्रक' डिफ़ॉल्ट 'parentView.controller' पर डिफ़ॉल्ट होता है। एम्बर 1.0.0 के रूप में, 'एम्बर। टेक्स्टफिल्ड' 'घटक 'बढ़ाता है। एक 'घटक' में नियंत्रक नहीं होता है बल्कि इसके बजाय 'targetObject' होता है। आपका समाधान क्यों काम करता है! –
मेरे पास 'एम्बर। टेक्स्टफिल्ड' एक उप-वर्ग 'टेक्स्ट-इनपुट' घटक वाला एक एम्बर ऐप है, और 'एम्बर। चयन' वर्ग उप-वर्ग 'चयन-इनपुट' घटक है। हालांकि, 'चयन-इनपुट' कोड में मैं 'this.get ('नियंत्रक') के साथ नियंत्रक तक पहुंचने में सक्षम था, और 'टेक्स्ट-इनपुट' में मुझे उपरोक्त अद्यतन अनुभाग में सुझाए गए समाधान का सहारा लेने की आवश्यकता थी ('this.get ('targetObject')')। मैं बस इसके बारे में टिप्पणी करना चाहता था क्योंकि यह समेकित लगता है, और शायद किसी के कारणों पर कुछ अंतर्दृष्टि है। – Ernesto