Algolia js helper将搜索到的产品的url重定向返回到搜索结果

时间:2017-09-18 16:12:10

标签: javascript algolia

我想知道是否有一种方法可以将搜索网址/查询格式保存为搜索结果,因此我可以将其传递给产品页面,以便用户可以返回显示搜索结果的上一页。

我的网站就是这样的。 用户登陆我的登录页面,他或她可以浏览/搜索产品,

例如简单的简单查询" Macbook"使用" addNumericRefinement"搜索具体价格。

当搜索结果现在显示时,用户可以单击其中一个产品并重定向到产品页面。但是如果用户现在返回(点击浏览器中的后退箭头),用户将再次被重定向到目标网页,但现在搜索结果已经消失,那么如何将搜索paramateres存储在例如我的网址中以便用户不必每次都进行新的搜索。

我试过这个:

searchIndex() {
      this.algoliasearchHelper.addNumericRefinement('state', '=', this.stateId);
      this.algoliasearchHelper.setQuery(this.query).search();

      var state = this.algoliasearchHelper.url.getStateFromQueryString(this.query);
      console.log(state);

    },

但是我得到了错误:未捕获的TypeError:无法读取属性' getStateFromQueryString'未定义的

我也尝试过:

var state = this.algoliasearchHelper.getState();
      var qs = this.algoliasearchHelper.url.getQueryStringFromState(state);
      console.log(qs);

但这也会返回错误:无法读取属性' getQueryStringFromState'未定义的

因此,当我进行搜索时,是否只是立即更新我的浏览器网址?这样我就不必在页面之间传递URL,只需按下浏览器上的后退按钮

即可

1 个答案:

答案 0 :(得分:0)

url命名空间位于构造函数上,不在辅助实例上。你应该这样做:

algoliasearchHelper.url.getQueryStringFromState()
// and
algoliasearchHelper.url.getStateFromQueryString();
// Do not do: this.algoliasearchHelper