2015-05-14 9 views
7

मैं सहायकउल्का टेम्पलेट में कुंजी और मान कैसे मुद्रित करें?

{ 
    "Name": "abc", 
    "Age": 24, 
    "Address" { 
     "street" : "xyz street", 
     "city" : "zyz city", 
     "country" : "XY" 
     } 
} 

मैं कुंजी के साथ पता प्रिंट करना चाहते हैं और और

<template name="User"> 
{{#with user}} 
Name : {{Name}} 
Age : {{Age}} 
    {{#each Address}} 
     {{key}} : {{value}} //Here is my question 
    {{/each}} 
{{/with}} 
</template> 

कुंजी मुद्रित करने के लिए कैसे को महत्व देता है एक टेम्पलेट में मूल्यों से JSON है?

उत्तर

6

{{#each}} ब्लॉक सहायक केवल कर्सर और सरणी तर्क स्वीकार करता है।

आप किसी ऑब्जेक्ट की बजाय सरणी को वापस करने के लिए पता सहायक को ओवरराइड कर सकते हैं।

Template.User.helpers({ 
    Address: function(){ 
    return _.map(this.Address, function(value, key){ 
     return { 
     key: key, 
     value: value 
     }; 
    }); 
    } 
}); 

आप एक टेम्पलेट सहायक के रूप में इस उपयोगिता समारोह निर्धारित कर सकते हैं:

जे एस

Template.registerHelper("objectToPairs",function(object){ 
    return _.map(object, function(value, key) { 
    return { 
     key: key, 
     value: value 
    }; 
    }); 
}); 

एचटीएमएल

<template name="User"> 
    <ul> 
    {{#each objectToPairs Address}} 
     <li>{{key}} - {{value}}</li> 
    {{/each}} 
    </ul> 
</template> 
1

परिवर्तन जे एस

में
var AddressSet=CollectionName.find({ }); 
किए जाने के लिए

परिवर्तन एचटीएमएल

 {{#each AddressSet}} 
     {{#each Address}} 
       {{this.street}} 
       {{this.city}} 
       {{this.country}} 
     {{/each}} 

     {{/each}} 
+0

में किए जाने के लिए मैं कुंजी और साथ ही साथ मूल्य प्रिंट करना चाहते हैं। आपके कोड में केवल मूल्य हैं। कोई बात नहीं धन्यवाद। @saimeunt मेरे प्रश्न को सही समझें। –

+0

यह सवाल का जवाब नहीं देता है, चाबियाँ अज्ञात होने वाली हैं। –

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