我有这个对象。通过小胡子中的整数循环,有可能吗?
{
"myValue": 5
}
我不知道是否有可能从1 ... 5在小胡子模板中循环?就像这样:
{{#myValue}}
{{.}}
{{/myValue}}
打印:
12345
我有这个对象。通过小胡子中的整数循环,有可能吗?
{
"myValue": 5
}
我不知道是否有可能从1 ... 5在小胡子模板中循环?就像这样:
{{#myValue}}
{{.}}
{{/myValue}}
打印:
12345
扩大对@ Thaylon的评论,您需要通过数组,而不是一个号码进行迭代。但是,假设从5
到[1,2,3,4,5]
改变myValue
是不是一种选择,你可以添加你可以在你的模板使用一个辅助功能:
var ractive = new Ractive({
el: 'main',
template: '#template',
data: {
myValue: 5,
range: function (low, high) {
var range = [];
for (i = low; i <= high; i += 1) {
range.push(i);
}
return range;
}
}
});
<script src="http://cdn.ractivejs.org/latest/ractive.js"></script>
<main></main>
<script id='template' type='text/ractive'>
{{#each range(1, myValue)}}
<p>{{this}}</p>
{{/each}}
</script>
作为替代把range()
帮手在data
对象,你可以做这样的事情将其添加为一个通用的帮手:
var helpers = Ractive.defaults.data;
helpers.range = function (low, high) {
var range = [];
for (i = low; i <= high; i += 1) {
range.push(i);
}
return range;
};
var ractive = new Ractive({
el: 'main',
template: '#template',
data: {
myValue: 5
}
});
非常好!简单而简单。 – CosX 2014-12-07 14:40:15
<script type="text/javascript">
var sampleVal = '{{foo}}';
// or var sampleVal = '{{foo.foo}}';
for (var i = 0; i < sampleVal; i++) {
}
</script>
伊莫,这不应该是可能的。模板描述的视图表示您的数据,而您的数据不是数组,而是整数。绑定之前,一个明显的解决方案是将数据更改为{“myValue”:[1,2,3,4,5]}。 – Thaylon 2014-12-05 14:26:20