我正在尝试在图书馆中搜索一本书。现在我有搜索工作,如果标题和关键字匹配,它会返回结果,但是我怎么能使它这样,如果标题包含关键字,它会返回结果。
例如,如果用户搜索"历险记",他们将得到"哈克贝利·费恩历险记"one_answers"汤姆·索亚历险记"
这是我现在的路由器,它会找到一个完全匹配的:
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 });
}
});
我认为您想要> -1
,因为0
仍然是有效匹配。
"foo bar".indexOf("foo"); // returns 0
"foo bar".indexOf("lorem"); // returns -1