我有这个对象。
{
"myValue": 5
}
我想知道是否可以在胡须模板中从1 ... 5循环?像这样:
{{#myValue}}
{{.}}
{{/myValue}}
打印:
12345
答案 0 :(得分:3)
扩展@ Thaylon的注释,你需要一个数组来迭代而不是数字。但是假设将myValue
从5
更改为[1,2,3,4,5]
不是一个选项,您可以添加一个可以在模板中使用的辅助函数:
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
}
});
答案 1 :(得分:0)
<script type="text/javascript">
var sampleVal = '{{foo}}';
// or var sampleVal = '{{foo.foo}}';
for (var i = 0; i < sampleVal; i++) {
}
</script>