在typeahead中使用ember-data模型

时间:2013-12-05 20:58:50

标签: jquery ember.js ember-data typeahead.js

我想在我的Ember应用程序中使用Typeahead.js,但我不确定如何利用我已经设置的ember-data RESTAdapter模型来通过我们的内部API查询我的数据库。

我是否会在“本地”项目中进行查询以执行此操作,可能如下(coffeescript)?

$('.typeahead.userGrp').typeahead(
    [
        name: "Users and Groups"
        valueKey: 'namevalue'
        minLength: 1
        limit: 30
        template: hTemplate
        local: ->
            @get('store').find('userGrp')
        engine: Handlebars
    ]
)

或者我是否必须坚持使用老式的JQuery AJAX调用,如here所述?有关上述代码的内容并不适合我,但我想尽可能使用ember / ember-data的内置内容。

另外,作为对这个问题的一个想法,似乎如果我可以让我的余烬数据适配器工作,我会在RESTAdapter的'buildURL'函数中处理动态URL部分,但如果没有,我会做它在'typeahead.remote.replace'函数中。那会有意义吗?

对此有何想法?

布赖恩

1 个答案:

答案 0 :(得分:2)

我可能会使用模型钩子,或者在控制器中获取必要的模型,然后在视图上的didInsertElement期间将它们连接起来(或者在ember呈现Ember transition & rendering complete event之后使用调度程序)。

这是一个丑陋的例子,搞砸了css,但是一般的想法是它在选择之后重新陷入余烬。

http://emberjs.jsbin.com/EYoWaWiB/4/edit