2012-01-10 14 views
7

मैं पहले sproutCore 1 के साथ काम करने के बाद, ember.js में देख रहा हूं। मैं कुछ उदाहरणों की तलाश कर रहा हूं कि डीओएम से विचार जोड़ने और हटाने के तरीके के रूप में उपयोगकर्ता एप्लिकेशन को नेविगेट करता है।एम्बर.जेएस डीओएम से विचार जोड़ रहे हैं और हटा रहे हैं?

उदाहरण के लिए, मेरे पास एक ऐसा एप्लिकेशन है जिसमें मामलों का एक सेट होता है और प्रत्येक मामले में वर्कफ़्लो होता है। प्रशासन पृष्ठ भी हैं, आदि

जब उपयोगकर्ता ऐप शुरू करता है, तो एक डैशबोर्ड-जैसे उपयोगकर्ता इंटरफ़ेस दिखाया जाता है। यहां से उपयोगकर्ता उस मामले को लाने के लिए किसी मामले पर खोज या क्लिक करने में सक्षम है। इस बिंदु पर मैं निम्नलिखित करना चाहते हैं:

  • मैं डैशबोर्ड के लिए जीयूआई निकालना चाहते हैं, और मैं मामले के लिए जीयूआई दिखाना चाहते हैं - जो नेविगेशन के अपने स्वयं के सेट के साथ अपने आप में एक जटिल जीयूआई है नियम इत्यादि
  • इसके अलावा, अगर मैं GUI के भाग जोड़ना और निकालना चाहता हूं, तो उपयोगकर्ता मामले को नेविगेट और मैनिपुलेट करता है।
  • जब उपयोगकर्ता "डैशबोर्ड" लिंक पर क्लिक करता है, तो मैं वर्तमान जीयूआई को हटा देना चाहता हूं, और डैशबोर्ड को फिर से जोड़ा जाना चाहिए।

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

क्या कोई मार्गदर्शिका है, या एक उदाहरण है जो यह दिखाता है कि यह कैसे करें?

+0

आपको [एम्बर-स्टेटस] (https://github.com/emberjs/ember.js/tree/master/packages/ember-states) के लिए कोड देखना चाहिए। –

+1

ud3323: धन्यवाद, मेरे पास है, लेकिन यह दो प्रश्न छोड़ देता है: 1. मैं बाल दृश्यों को कैसे जोड़ूं और हटा सकता हूं, और 2. कोड में कहां मैं MyApp.statemanager.create() कहता हूं? Ember.Aplication.create ({ready: function ({// here})} के अंदर उस कोड को डालकर,; मेरे इंडेक्स.html में बनाए गए विचारों से ठीक पहले राज्य चार्ट लोड करना प्रतीत होता है। –

+0

पुराने अनुसूचित जाति 1.x राज्यक्षेत्रों और नए एम्बर-राज्यों के बीच बड़े अंतरों में से एक व्यूस्टेट्स है। असल में यह आपके स्टेटचार्ट के भीतर विचारों को जोड़ने/हटाने को संभालता है। आपके अन्य प्रश्न के लिए, जब आप Ember.StateManager.create को कॉल करते हैं, जिसे स्टेटचार्ट प्रारंभ करना चाहिए और आपके लिए अपना प्रारंभिक स्थिति दर्ज करना चाहिए। –

उत्तर

9

चेतावनी: पुरानी उत्तर

एक दृश्य Ember.View जो कुछ प्रमुख तरीकों हो जाता है इसका मतलब से विरासत। append(), जो body, appendTo(arg) में शामिल है जो एक तर्क और remove() लेता है।

तर्क डीओएम में तत्व डालने के लिए एक jQuery शैली चयनकर्ता है।

// my view 
App.PartsView = Ember.View.extend({ 
    ... 
}); 


// create/insert my view 
App.partsView = App.PartsView.create(); 
App.partsView.appendTo('#partcontainer'); 

मेरे कोड में मेरे पास <div id="partcontainer"></div> है।

// remove from DOM 
App.partsView.remove(); 

प्रलेखन Building a View Hierarchy पर एक अच्छा हिस्सा है और आप इसे सभी प्रोग्राम के या नहीं करना चाहते हैं, इस आधार पर Ember.ContainerView पर बाद में एक वर्ग है।

+0

jQuery प्रलेखन एक उपलब्ध [उपलब्ध jQuery चयनकर्ताओं का अवलोकन] प्रदान करता है (http://api.jquery.com/category/selectors/)। – Abdull

+0

प्रश्न: क्या कोई ऐसा कर सकता है? ऐसा लगता है कि एम्बर के साथ काम करने के सामान्य तरीके से थोड़ा सा लगता है। –

+1

अच्छा सवाल। मैंने लगभग दो साल पहले यह लिखा था, जब एम्बरज अधिक "अधूरा" था, और अब मैं जो हो रहा है उसके साथ अद्यतित नहीं रहा हूं। मेरा जवाब पुराना हो सकता है। –

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