我正在尝试在图书馆中搜索图书。现在我有搜索工作,如果标题和关键字匹配它将返回结果,但是我怎么能这样做,如果标题包含关键字,它将返回结果。
例如,如果用户搜索“The Adventures”,他们将同时获得“Huckleberry Finn历险记”和“Tom Sawyer历险记”
这是我的路由器,它将找到一个完全匹配:
Books.BooksSearchRoute = Ember.Route.extend({
model: function (params) {
return this.store.filter('book', function (book) {
return book.get('titleSlug') == params.keyword;
})
},
renderTemplate: function (controller) {
this.render('books/index', { controller: controller });
}
});
我尝试使用javascript indexOf函数执行此操作,但它始终返回无匹配
Books.BooksSearchRoute = Ember.Route.extend({
model: function (params) {
return this.store.filter('book', function (book) {
return book.get('titleSlug').indexOf(params.keyword) > 0;
})
},
renderTemplate: function (controller) {
this.render('books/index', { controller: controller });
}
});
答案 0 :(得分:1)
我认为您需要> -1
,因为0
仍然是有效匹配。
例如:
"foo bar".indexOf("foo"); // returns 0
"foo bar".indexOf("lorem"); // returns -1