mhe*_*ers 2 javascript jquery mustache
我正在尝试与jquery和javascript一起学习小胡子/ icanhaz,我有一个小胡子模板,我正在传递各种数据.其中一个数据是一个选项列表,但该列表的长度可能不同(例如,一到三个选项).如何将变化的数据传递给小胡子?
这是我的代码:
使用Javascript:
for (childIndex in scenes[sceneID].children) {
childSceneID = scenes[sceneID].children[childIndex];
childScene = scenes[childSceneID];
childLink = childScene.name;
}
decision = ich.decision(decisionData);
$('#page_container').append(decision);
Run Code Online (Sandbox Code Playgroud)
模板:
<script id="decision" type="text/html">
<div id="page">
<h1>{{ tTitle }}</h1>
<ul id="options">
<li>{{tDecision}}</li>
</ul>
{{#tBacklink}}<a id="back" data-sceneid="{{tBacklink}}">Back</a>{{/tBacklink}}
</div>
</script>
Run Code Online (Sandbox Code Playgroud)
所以我不得不将决策对象中的所有childLinks传递给要在循环中解析的小胡子以输出<li>元素列表.
有人知道怎么做吗?
首先在对象中建模数据,
var scene = {
tTitle: '',
tDecision: '',
tBacklink: ''
};
Run Code Online (Sandbox Code Playgroud)
然后在循环的每次迭代中将每个对象放在一个数组中
var scenes = [];
for () {
scenes.push(scene);
}
Run Code Online (Sandbox Code Playgroud)
然后调用Mustache使用scenes数组渲染模板,模板已经像这样修改了
<script id="decision" type="text/html">
<div id="page">
{{#scenes}}
<h1>{{ tTitle }}</h1>
<ul id="options">
<li>{{tDecision}}</li>
</ul>
{{#tBacklink}}<a id="back" data-sceneid="{{tBacklink}}">Back</a>{{/tBacklink}}
{{/scenes}}
</div>
</script>
Run Code Online (Sandbox Code Playgroud)