Ember.js 标题包含关键字的Ember JS过滤器模型

Ember.js 标题包含关键字的Ember JS过滤器模型,ember.js,Ember.js,我正试图在图书馆安排一次图书搜索。现在我有搜索工作,如果标题和关键字匹配,它将返回结果,但是我如何使它这样做,如果标题包含关键字,它将返回结果 例如,如果用户搜索“历险记”,他们将同时获得“哈克贝利·费恩历险记”和“汤姆·索耶历险记” 这是我现在的路由器,它将找到精确匹配: Books.BooksSearchRoute = Ember.Route.extend({ model: function (params) { return this.store.filter('b

我正试图在图书馆安排一次图书搜索。现在我有搜索工作,如果标题和关键字匹配,它将返回结果,但是我如何使它这样做,如果标题包含关键字,它将返回结果

例如,如果用户搜索“历险记”,他们将同时获得“哈克贝利·费恩历险记”和“汤姆·索耶历险记”

这是我现在的路由器,它将找到精确匹配:

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