<script id="test" type="text/html">
测试模板:{{Name}}
{{Item = QueryPage(20)}}
{{ each Item as value i}}
第 {{i}} 个值 {{value}}<br/>
{{/each}}
<br /><br />
重新设置后绑定:<br />
{{Item = QueryPage(50)}}
{{ each Item as value i}}
第 {{i}} 个值 {{value}}
{{/each}}
</script>
<script type="text/javascript">
var data = {
Name: "我",
Des: "--------XXrfgsdfgsd",
Item: null,
QueryPage: function (len) {
var item = [];
for (var i = 0; i < len; i++)
item.push("str" + i);
return item;
},
Count: 0
}
var fuc = template.compile(document.getElementById("test").innerHTML, data);
var info = fuc(data);
document.write(info);
</script>
测试模板:{{Name}}
{{Item = QueryPage(20)}}
{{ each Item as value i}}
第 {{i}} 个值 {{value}}<br/>
{{/each}}
<br /><br />
重新设置后绑定:<br />
{{Item = QueryPage(50)}}
{{ each Item as value i}}
第 {{i}} 个值 {{value}}
{{/each}}
</script>
<script type="text/javascript">
var data = {
Name: "我",
Des: "--------XXrfgsdfgsd",
Item: null,
QueryPage: function (len) {
var item = [];
for (var i = 0; i < len; i++)
item.push("str" + i);
return item;
},
Count: 0
}
var fuc = template.compile(document.getElementById("test").innerHTML, data);
var info = fuc(data);
document.write(info);
</script>
没有使用helper传递函数,直接在模板上传递参数.
注意事项:
调用的函数 QueryPage 需要是在传入对象上定义的函数。
QueryPage内部对Item的操作会失效。必须使用返回值,返回到同名的临时变量上。所以,一个函数只能设置一个变量。变量不能使用var定义,artTemplate会自动定义。
一个函数调用会导致一个空字符串被push到结果中,这是多余的操作。所以,非必要情况下,不要使用这种方式来构造数据。