2012-04-17 9 views
7

मेरे पास एक एम्बर.जेएस ऐप है। मुख्य टेम्पलेट में मेरे पास एक सहायता बटन है जिसे क्लिक करने पर एक सीएसएस टूलटिप प्रदर्शित करना चाहिए। मेरे पास टूलटिप एक अलग हैंडलबार टेम्पलेट है।मैं एम्बर के साथ डीओएम में गतिशील रूप से एक नया टेम्पलेट कैसे डाल सकता हूं?

जो मैं करने की कोशिश कर रहा हूं वह पॉप ईवेंट को डोम में डालने और इसे प्रदर्शित करने के लिए क्लिक ईवेंट को संभाल रहा है। मैं एम्बर का उपयोग कर डीओएम में नए टेम्पलेट्स को सम्मिलित करने का तरीका नहीं समझ सकता।

var checkbox = Ember.Checkbox.extend({ 
    templateName: 'checkbox', 
    helpClicked: function(e) { 
     // Not sure what to do here 
    } 
})); 

var tooltip = Ember.View.extend({ 
    templateName: 'tooltip' 
}); 

तो मैं ईवेंट हैंडलर टूलटिप प्रस्तुत करना में क्या करना है यकीन नहीं है:

<div id="status_help" class="icon_help" {{action "helpClicked"}}></div> 

यहाँ मेरी प्राथमिक दृश्य है:

यहाँ जहां मदद बटन प्रदर्शित किया जाता है मेरे टेम्पलेट है टेम्पलेट और इसे प्रदर्शित करने के लिए डोम में इंजेक्ट करें।

उत्तर

12

आप एक नया दृश्य बना सकते हैं और Ember.View के append या appendTo विधियों का उपयोग करके इसे DOM में जोड़ सकते हैं।

App.MyView = Ember.View.extend({ 
    templateName: 'a_template' 
}) 

var view = App.MyView.create(); 

// Append the view to the document body 
view.append(); 
// ...or append to any element described using 
// a jQuery-compatible selector. 
view.appendTo('#my-div'); 
+0

वहाँ भी है एक 'replaceIn' विधि, https://github.com/emberjs/ember.js/blob/255bd707a73c905fa6e14ac76f134642e9802667/packages/ember-views/lib/views/view.js#L704- देखना 724। – pangratz

+1

मैं इसे पीछे की तरफ कर रहा था। मैं बच्चे को जोड़ने की कोशिश करने के लिए अभिभावक दृश्य में शामिल होना चाहता था। मैं इसे एक शॉट दूंगा, धन्यवाद। –

+1

यह एम्बर 2.x में कैसे किया जाएगा अब दृश्यों को बहिष्कृत कर दिया गया है? – tojofo

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