2011-06-09 8 views
8

मैं का उपयोग Mustache.js succusefully एचटीएमएल प्रदर्शित करते हैं, यहाँ कोडयदि ऑब्जेक्ट सरणी में है तो Mustache.js का उपयोग कैसे करें?

 var mygame = { 
     player:'viking', 
     games:[{name:'d1',type:'avg'},{name:'cod7',type:'fps'},{name:'war3',type:'rts'}] 
     }; 
    var template = '{{player}} is a good guy<br/> <ul>{{#games}}<li>name:{{name}} and type:{{type}} </li>{{/games}}</ul>'; 
    var html = Mustache.to_html(template, mygame); 
    var con = document.getElementById('container'); 
    con.innerHTML = html; 

है, लेकिन मैं कैसे यह प्रयोग करते हैं जब वस्तु एक सरणी है,

var mygames = [{name:'d1',type:'avg'},{name:'cod7',type:'fps'},{name:'war3',type:'rts'}]; 

उत्तर

8

की तरह इस प्रयास करें:

var mygames = [{name:'d1',type:'avg'},{name:'cod7',type:'fps'},{name:'war3',type:'rts'}]; 

var mygame = { 
    player: 'viking', 
    games: mygames 
} 
var template = '{{player}} is a good guy<br /> <ul>{{#games}}<li>name:{{name}} and type:{{type}} </li>{{/games}}</ul>'; 
var html = Mustache.to_html(template, mygame); 
var con = document.getElementById('container'); 
con.innerHTML = html; 
+3

Mustache.js एक के रूप में सरणी उपयोग नहीं कर सकते पैरामीटर? मैं अपने सरणी को ऑब्जेक्ट – vikingmute

2

आपको ऐसा कुछ करने की ज़रूरत है:

var mygames = {games: [{name:'d1',type:'avg'},{name:'cod7',type:'fps'},{name:'war3',type:'rts'}]}; 

var template= "{{#games}} Player name: {{name}} Type: {{type}}{{/games}}"; 

var html = Mustache.to_html(template, mygames); 
var con = document.getElementById('container'); 
con.innerHTML = html; 
,210

या बस पाश से अधिक mygames वस्तु और html संलग्न

var html=""; 
var template= "Player name: {{name}} Type: {{type}};" 
for (var i=0;i<mygames.length;i++) 
{ 
    html+=Mustache.to_html(template, mygames[i]); 
} 
var con = document.getElementById('container'); 
con.innerHTML = html; 

आशा इस

35

आप इस तरह यह कर सकते हैं मदद करता है:

var model = [{name:'d1',type:'avg'},{name:'cod7',type:'fps'},{name:'war3',type:'rts'}]; 
var template = '<ul> {{#.}} <li>name:{{name}} and type:{{type}} </li> {{/.}} </ul>'; 
var html = Mustache.to_html(template, model); 
+0

+1 में लपेटना नहीं चाहता क्योंकि यह सबसे सुरुचिपूर्ण समाधान – Frank

+2

अन्य उत्तर परिस्थितियों से बचने के लिए केवल वर्तमान तरीके हैं। चूंकि इससे पता चलता है कि मूंछ सिंटैक्स वास्तव में आपको फ्लैफ में लपेटे बिना डेटा ऑब्जेक्ट के रूप में एक सरणी का उपयोग करने की अनुमति देता है, यह वास्तव में स्वीकार्य उत्तर होना चाहिए। – Semicolon

+0

यह सही जवाब होना चाहिए! – vNext

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