2012-05-30 65 views
0

我有以下問題小鬍子 - 送數組js函數

DATA:

var json = {'data': [{'id': '1', 'members': [{'name':'First member', 'age': '23'},{'name':'Second member', 'age': '31'}] }]} 

JSON是從我的頭頂這麼寫的,可能是無效的,並不那麼重要。

MUSTACHE.tmpl

{{#data}} 
{{#members}} 
<script>myJsFunction(all_members_attributes_as_json)</script> 
{{/members}} 
{{/data}} 

所以在一般情況下,我想整個小鬍子數組傳遞給我的JS功能

回答

0

關於這樣的:

添加的功能爲您的會員映射到JSON字符串:

_.each(json.data, function(el) { 
    el.jsonMembers = function() { 
     return _.map(this.members, function(member) { 
      return JSON.stringify(member); 
     }); 
    }; 
}); 

請注意,我使用了_.each_.map這裏...如果你不使用Underscore,用你最喜歡的迭代器或者一個vanilla for循環代替。或者只是使用Underscore,因爲它會讓生活更美好。

然後你訪問字符串化的版本,而不是正常的:

{{#data}} 
{{#jsonMembers}} 
<script>myJsFunction({{{ . }}})</script> 
{{/jsonMembers}} 
{{/data}} 
+0

感謝很多的提示。你是對的..下劃線使我的生活更輕鬆。我很開心:) – Igor