gpt4 book ai didi

javascript - Typeahead.js 与 Ember 的 HTMLBar

转载 作者:行者123 更新时间:2023-11-28 00:19:20 25 4
gpt4 key购买 nike

我们一直在 Ember 应用程序中使用 Typeahead.js 库(通过 this addon ),在 1.10 之前的 Ember 版本上取得了成功,但升级到 Ember 1.10 给我们带来了问题。

到目前为止,我们已经成功编译了传递给 typeahead 组件的模板,并将其传递给 typeahead 库,如下所示:

templates: {
// this.get('suggestionTemplate') is a string of handlebars template
suggestion: Handlebars.compile(this.get('suggestionTemplate')),
<other code>
}

但这在 Ember 1.10 中不起作用,因为 typeahead.js 在执行这行代码时会抛出以下错误:

代码:

$el = $(html.suggestion).append(that.templates.suggestion(suggestion)).data(datasetKey, that.name).data(valueKey, that.displayFn(suggestion)).data(datumKey, suggestion);

错误:

未捕获类型错误:that.templates.suggestion 不是函数

以前的that.templates.suggestion(上面第一个代码块的值)是一个可以传递对象suggestion的函数,它会编译实际模板。对于 HTMLBars,that.templates.suggestion 不再是一个函数,而是一个 HTMLBars 对象,因此此代码不再有效。

是否有更好的方法在 Ember 1.10 中执行相同的操作来匹配之前的行为?

最佳答案

我记得我在使用 Handlebars.compile 时遇到了类似的问题,我最终选择将函数传递给 suggestion,然后是模板内容:

templates: {
empty: '<span>No results</span>',
suggestion: function(item){
return '<div>' + item.name + '</div>';
}
}

希望这也适合您。

关于javascript - Typeahead.js 与 Ember 的 HTMLBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30177320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com