我正在尝试实施一个简单的搜索功能,该功能会过滤结果并更新商家信息。
我几乎尝试了每一个教程,每个教程似乎都在使用它的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。
答案 0 :(得分:1)
如果你想要编译,然后重新编译等,你实际上需要在模板中使用计算属性。它有点懒惰的评估,因此你不能在不首先在模板中使用它或从JavaScript代码调用时调试它。所以基本上你需要先在模板中使用searchResults
。
在演示中,model
代替searchResults
。我想在你的应用程序中你有类似的设置和相同的错误。
修正:
{{#each searchResults as |item|}}
<li>{{item}}</li>
{{/each}}