0

Handlebars テンプレート (環境: Node.js および Meteor) の Twitter Bootstrap から typeahead フィールドを入力する必要があります。

テンプレートビットは次のとおりです。

<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 に答える