我想知道是否有一种方法可以将搜索网址/查询格式保存为搜索结果,因此我可以将其传递给产品页面,以便用户可以返回显示搜索结果的上一页。
我的网站就是这样的。 用户登陆我的登录页面,他或她可以浏览/搜索产品,
例如简单的简单查询" 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,只需按下浏览器上的后退按钮
即可答案 0 :(得分:0)
url命名空间位于构造函数上,不在辅助实例上。你应该这样做:
algoliasearchHelper.url.getQueryStringFromState()
// and
algoliasearchHelper.url.getStateFromQueryString();
// Do not do: this.algoliasearchHelper