如何在Handlebars中填充bootstrap typeahead?

时间:2013-04-14 09:23:45

标签: node.js twitter-bootstrap meteor handlebars.js

我需要在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模板......

1 个答案:

答案 0 :(得分:0)

我在试图回答类似的问题时偶然发现了这一点。

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

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

var ret = JSON.stringify(temp);