2012-10-09 13 views
5

से डेटा कैसे देखें I विभाग द्वारा समूहीकृत कुछ संपर्क जानकारी (नाम, ईमेल, ...) देखना चाहता हूं लेकिन मैं इसे हैंडलबार्स से प्राप्त करने में असमर्थ हूं।Ember.js: Ember.Map

  • विभाग एक्स

    • संपर्क x1 जानकारी
    • संपर्क x2 जानकारी
    • ...
  • विभाग वाई

    • संपर्क y1 जानकारी
    • संपर्क y2 जानकारी
    • ...

मैं नहीं जानता कि कितने विभागों मैं पहले से है। तो, मेरे नियंत्रक में मैंने एक एम्बर.मैप में जानकारी लोड करने का प्रयास किया जहां विभाग इसकी कुंजी हैं और संपर्कों की जानकारी के साथ सरणी प्रत्येक विभाग के लिए मूल्य है।

map = Ember.Map.create(); 
// Load data from server into map 
// m = {'Department X': [{name:'x1','email':'emailx1',...},{...}], 'Department Y':[....], ...} 

{{#each department in map}} 
    {{department}} 
    {{#each contact in map.keys}} 
     {{contact.name}} | {{contact.email}} 
    {{#each}} 
{{#each}} 

कह रही है कि कोई त्रुटि फेंक दिया जाता है "। एक EmberCollectionView की सामग्री Ember.Array को लागू करना चाहिए आप [वस्तु वस्तु] ने": यह कुछ इस तरह है। क्या नेस्टेड डेटा के साथ एक कार्य को प्राप्त करना संभव है? किसी भी मदद का स्वागत किया जाएगा। धन्यवाद।

उत्तर

5

क्या इस तरह की एक विभाग वर्ग बनाने के बारे में:

App.Department = Ember.Object.extend({ 
    name: null 
    contacts: null // will be an array of App.Contact 
}) 

और एक संपर्क वर्ग इस तरह:

App.Contact = Ember.Object.extend({ 
    name: null, 
    email: null, 
}) 

जब आपके डेटा लोड हो रहा, तो आप बस विभागों की एक सरणी का निर्माण कर सकते

App.departments = []; 

// parse the arriving json and populate the departments array 
App.departments.pushObject(
    App.Department.create(
     {name: dptLoadedName, contacts: [App.Contact.create({...})]} 
    ) 
) 

तो, अपने टेम्पलेट में, आप कुछ ऐसा कर सकते हैं:

{{#each department in App.departments}} 
    {{department.name}} 
    {{#each contact in department.contacts}} 
    {{contact.name}} | {{contact.email}} 
    {{#each}} 
{{#each}} 
+0

बिल्कुल सही! एक उत्तर की प्रतीक्षा करते समय मैं बिल्कुल कोशिश कर रहा था और यह पूरी तरह से काम करता है। मैं Ember.Map का उपयोग करने की कोशिश कर रहा था क्योंकि मैं जावा ब्रह्मांड से आया हूं और मैं अपने टेम्पलेट्स में मानचित्र के साथ ऐसा कार्य प्राप्त करने के लिए उपयोग करता था। बहुत - बहुत धन्यवाद – erbihanka