Параметр запроса в Ember Route

Есть ли способ иметь параметр запроса в раскаленных маршрутах. В моем приложении есть маршрут поиска товаров, где пользователь ищет товары с помощью поля ввода. Когда пользователь переходит к одному из найденных продуктов, а затем нажимает кнопку "Назад", предыдущий поиск исчезает, поскольку URL-адрес маршрута products, Так есть ли способ сохранить запрос, который пользователь делает в маршрут, как products?search=shirts поэтому предыдущий результат будет отображаться, когда пользователь вернется на эту страницу?

2 ответа

Если я не понял, что вы хотите, или если мне не нужно из-за требований бизнеса, я бы не стал создавать маршрут для определенной категории поиска, вместо этого я бы создал вычисляемое свойство (или функцию с observe), который фильтруется поиском keyworkd (как свойство моего контроллера). Что-то вроде следующего:

App.SomeController = Em.ArrayController.extend({
    searchKeyword: '',
    filteredSearchResults: function() {
        var keyword = this.get('searchKeyword');
        if(keyword.length > 0) {
            // filtered search
            return this.get('content').filter(function(item) {
                // do your own filtering logic here
                return item.get('name').indexOf(keyword) !== -1
            });
        }  else {
            // unfiltered search
            return this.get('content');
        }
    }.property('content', 'searchKeyword');
});

Тогда в Handlebars я бы повторил что-то вроде этого

{{#each filteredSearchResults}} 
    ... do stuff here...
{{/each}}

Текстовое поле поиска должно быть привязано к контроллеру searchKeyword свойство, поэтому поисковый термин не теряется при переходе от маршрута к маршруту. Проблема в том, что поисковый термин не будет удален, если вы явно не пойдете и не очистите это свойство (технически вы можете иметь некоторые логические элементы / проверки для конкретных сценариев, в которых вы вручную удаляете значение этого поля / привязки);

Параметры запросов теперь поддерживаются Ember.

Документация по параметрам запроса

Другие вопросы по тегам