2012-03-16 15 views
5

वर्तमान में, अगर हम {{#view App.myView}} के रूप में हमारे विचार को परिभाषित करते हैं, तो एम्बर/हैंडलबार्स दृश्य तत्व को <div id="ember-1234" class='ember-view'> के अंदर लपेटेंगे।एम्बर जेएस/हैंडलबार्स सहायक

क्या इसे रोकने का कोई तरीका है?

उत्तर

11

आप शायद टैगनाम '' के रूप में स्थापित करना चाहते हैं एक नजर है।

App.MyView = Em.View.extend({ 
    tagName: '' 
}); 

कम से कम यह आंतरिक सामग्री को लपेटना बंद कर देता है।

1

मुझे लगता है कि आप 'एम्बर-व्यू' कक्षा के बारे में बात कर रहे हैं जो अनुकूलन योग्य नहीं है (tagName विशेषता के लिए तत्व प्रकार अनुकूलन योग्य है ...)

दरअसल, एम्बर बाद में जेएस व्यू में ईवेंट भेजने के लिए दस्तावेज़ पर एक ईवेंट श्रोता (एक बार!) पंजीकरण करने के लिए इस कक्षा का उपयोग करता है।

मुझे नहीं लगता कि यह कक्षा का उपयोग करने से बचने के लिए यह आसान होगा। सभी एम्बर के नियंत्रित तत्व का चयन करने के लिए एक और तरीका खोजना होगा, लेकिन मुझे नहीं पता कि कैसे।

source देखें, @ लाइन 117.

+0

असल में, मैं कह रहा था कि myView इस

की तरह उत्पन्न होगा। असल में, मैं नहीं चाहता #myView # ember-1234 –

+0

के अंदर लपेटा जाना चाहता है एक और जवाब जोड़ा गया ... –

2

आप दृश्य तत्व की आईडी अनुकूलित करने के लिए चाहते हैं, आप उपयोग कर सकते हैं:

{{#view App.myView id="my-id"}} 
+0

लेकिन यह अभी भी उत्पन्न होने पर एक div के अंदर लपेटा गया है। मैं रैपिंग div से छुटकारा पाना चाहता हूँ। –

+0

तो आप जो चाहते हैं वह एक दृश्य नहीं है ... क्या आप कृपया अपना कोड नमूना विस्तृत कर सकते हैं? तुम्हारा लक्ष्य क्या है? शायद आप बिना किसी दृश्य के अपनी सामग्री शामिल कर सकते हैं। –

2

मैं आमतौर पर आवरण के रूप में अपने विचार लगता है। उदाहरण के लिए, यदि प्रारंभिक दिया एचटीएमएल कोड है:

<div class="item"><p>my stuff></p></div> 

तो मैं "div" (जो डिफ़ॉल्ट है) के रूप में एक टैगनाम संपत्ति, और "आइटम" के रूप में classnames संपत्ति के साथ एक दृश्य बनाना होगा। यह उचित हैंडल टेम्पलेट के साथ, प्रस्तुत करना होगा: यदि आप इस div पर अपने उचित आईडी की आवश्यकता है तो

{#view App.myView} 
    <p>my stuff></p> 
{/view} 

-> render as 

<div id="ember-1234" class="ember-view item"> 
    <p>my stuff></p> 
</div> 

, आप अपने दृश्य वर्ग पर "elementId" संपत्ति निर्धारित कर सकते हैं (से पहले बनाने के())। (@see source code)

0

यदि मैं आपको सही ढंग से समझता हूं तो आप jQuery की replaceWith जैसी कुछ हासिल करना चाहते हैं? जब आप मेरा पुल अनुरोध विलय हो जाता है तो आप इसका उपयोग Ember.js में कर सकते हैं: https://github.com/emberjs/ember.js/pull/574

इसके Create Ember View from a jQuery object

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