Emberjs不工作的简单搜索



我正在尝试实现一个简单的搜索功能,它将过滤结果并更新列表。

我几乎尝试了每一个教程,每个教程似乎都与它的jsfiddle一起工作,但是当我在我的项目中应用同样的东西时,它根本不起作用。

这是我作为第一个问题,我的搜索字段似乎没有与控制器中的计算属性绑定。

我也尝试过它作为一个组件,但同样的问题,如果我在搜索字段中输入任何东西,它不反映任何东西。

让我在这里分享我的代码,

input type="text" value=searchText placeholder="Search..."
  searchResults: ( ->
    console.log "On every key press it should come here.."
    model = @get('model')
    searchText = @get('searchText')
    filterByPath = @get('filterByPath')
    visualPath = @get('visualPath')
    if searchText
      searchText = searchText.toLowerCase()
      model = model.filter(item) ->
      Ember.get(item, filterByPath).toLowerCase().indexOf(searchText)>= 0
      model.getEach(visualPath)
    ).property('searchText')

尝试了几乎相同的组件,但到目前为止还没有运气。我不使用把手,但Emblemjs.

你实际上需要使用计算属性在模板中,如果你想要它被编译,然后重新编译等。它有点延迟计算,所以如果不先在模板中使用它或从JavaScript代码中调用,就无法调试它。所以基本上你需要首先在模板中使用searchResults

在demo中model代替searchResults。我猜在你的应用程序中,你有类似的设置和相同的错误。

修复:

{{#each searchResults as |item|}}
    <li>{{item}}</li>
{{/each}}
工作演示。

最新更新