【发布时间】:2015-01-02 21:40:55
【问题描述】:
我创建了使用 handlebars 在 HTML 文件中生成一些内容的程序,目前这些内容是硬编码的,现在我想发送一些参数,当我从模型中传递数据时喜欢关注
that.model = {
func: "Jhon"
};
这是相关的车把
user.test( {{func}}, function( )
{
});
生成好的HTML文件,我进入了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( 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 或者也许还有其他方法可以创建循环。
【问题讨论】:
-
您能否还显示用于制作此功能的其余代码、使用数据和 selectedUser 代码调用车把。如果你能制作一个小提琴就更好了
-
是传递给模板的另一个对象的 userList 部分还是根?
-
@Quince-这是对象根,我已经完全按照帖子中的方式移动了它,顺便说一句,感谢您的支持!
-
如果它的根应该不是 {{#each user}}
-
@Quince-这是我第一次使用把手,所以我不确定模板的代码是否可以。例如,如果我在数组中有 3 个项目,我希望我会生成它3次,但只生成一个,我使用#each userList.user ...
标签: javascript jquery mustache handlebars.js