0

我需要在 Handlebars 模板(环境:Node.js 和 Meteor)中从 Twitter Bootstrap 填充一个预先输入字段。

这是模板位:

<input type="text" data-provide="typeahead" data-source={{{names}}}>

这是Javascript位:

Template.myTemplate.names = function () {
    var temp = MyCollection.find({}).map(function (x) { return x.name; });
    var ret = "[\"" + temp.join("\", \"") + "\"]";
    return ret;
};

问题是生成的 Javascript 不正确,例如,

<input type="text" data-provide="typeahead" data-source="["John", " "Albert"]>

并且不起作用。我认为我对此进行了过度设计,并且必须有更好的方法来生成/渲染 Handlebars 模板...

4

1 回答 1

0

我在尝试自己回答类似问题时偶然发现了这一点。

双引号是必需的,因为它需要 JSON。

我在您的示例中ret使用了这样的字符串格式,而不是字符串格式:JSON.stringify

var ret = JSON.stringify(temp);
于 2013-12-02T04:03:04.687 回答