我创建的程序使用把手在HTML文件中生成一些内容,目前内容是硬编码的,现在我想发送一些参数,当我把传递的数据从模型如下
that.model = {
func: "Jhon"
};
这是相关的车把
user.test( {{func}}, function( )
{
});
生成的HTML文件OK,我收到了HTML文件
...
user.test( jhon, function( )
{
});
现在我想根据不同用户名的数组多次生成它我应该怎么做? 我创建了以下数组
var userList = {
user: []
};
for (var i = 0; i < selectedUser.length; i++) {
userList.user.push({
name: selectedUser[i].getText()
});
}
这是模板
{{#each userList.user}}
user.test( {{name}}, function( )
{
});
{{/each}}
在生成过程之后,我得到的不是我所期望的...... 首先它不复制条目并放置[object Object]
user.test( [object Object],[object Object], function( )
{
});
假设我有多个用户,例如jhon,mike,peter
我希望生成的HTML文件在生成后看起来像跟随: 示例 user.test(jhon,function() {
});
user.test( mike, function( )
{
});
user.test( peter, function( )
{
});
更新
我已将我的对象更改为
for (var i = 0; i < selectedUser.length; i++) {
userList.user.push({
selectedUser[i].getText()
});
}
现在我正在
user.test( jhon,mike,peter function( )
{
});
没有迭代,我想在示例中得到它3次......如何 我用车把1.3 或者还有其他方法可以创建循环。
答案 0 :(得分:3)
很难说明代码中的错误究竟在哪里,而不会在页面上看到错误。
但这是我尝试实施你的任务:
以下是把手模板:
<script id="template" type="text/x-handlebars-template">
{{#each user}}
user.test( {{name}}, function(){});
{{/each}}
</script>
我使用的和javascript看起来像这样:
var userList = {
user: [{name : "Mike"},{name : "Adam"},{name : "John"}]
};
var source = $("#template").html();
var template = Handlebars.compile(source);
$("#output").html(template(userList));
给出下一个输出:
user.test( Mike, function(){});
user.test( Adam, function(){});
user.test( John, function(){});
您可以在此jsfiddle
看到它的实际效果