javascript - 带有参数的代码生成未按预期工作

标签 javascript jquery mustache handlebars.js

我创建了使用handlebars 在 HTML 文件中生成一些内容的程序,目前内容是硬编码的,现在我想发送一些参数,当我从模型中传递数据时喜欢关注

that.model = {
func: "Jhon"

};

这是相关的 Handlebars

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( 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 次...如何 我用 Handlebars 1.3 或者也许还有其他创建循环的方法。

最佳答案

如果不在页面上看到所有错误,很难说出代码中的确切错误位置。

但这是我尝试执行您的任务:

这是 Handlebars 模板:

<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 看到它的实际效果

关于javascript - 带有参数的代码生成未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26778519/

相关文章:

javascript - Jquery动画循环

javascript - 添加类 Jquery li

php - 使用 mustache 通过 php 渲染 js 模板

javascript - 设置 AngularJs select 的默认值,该值在 ng-options 中不存在

javascript - 无法在 servlet 中获取 JSON 字符串

Javascript隐藏/显示div

javascript - Handlebars 模板中的新行

javascript - 如何从自定义 Handlebars 助手访问请求对象

javascript - 来自 popup.js 的 Chrome 扩展程序 : Access to variables of a background. js

javascript - jQuery:设置下拉列表的选定值?