Vuejs2 Algolia vue instantsearch-删除结果
我现在正在用Algolia做实验。到目前为止,这真的令人印象深刻。然而,我遇到了一些“障碍” 我正在使用Vuejs2 Algolia vue instantsearch-删除结果,vuejs2,algolia,vue-instant-search,Vuejs2,Algolia,Vue Instant Search,我现在正在用Algolia做实验。到目前为止,这真的令人印象深刻。然而,我遇到了一些“障碍” 我正在使用vue instantsearch包。它目前仅在管理页面上使用。在这个页面上,我可以点击一个按钮,打开一个模式,确认是否应该删除它。我正在努力寻找一种方法来“简单地”从结果中删除指定的文章,而无需重新加载 我基本上已经浏览了文档,找到了deleteObjects方法,但是它不能从ais index组件中访问,也不能从它的任何子组件中访问 所以,我的问题是,我该如何正确地实现这一点 在这件事上的
vue instantsearch
包。它目前仅在管理页面上使用。在这个页面上,我可以点击一个按钮,打开一个模式,确认是否应该删除它。我正在努力寻找一种方法来“简单地”从结果中删除指定的文章,而无需重新加载
我基本上已经浏览了文档,找到了deleteObjects
方法,但是它不能从ais index
组件中访问,也不能从它的任何子组件中访问
所以,我的问题是,我该如何正确地实现这一点
在这件事上的任何帮助都将不胜感激:)好的,我似乎已经解决了我自己的问题 下面是我如何修复它的 首先,我创建了自己的
searchStore
const searchStore = createFromAlgoliaCredentials(
'APP_ID',
'SEARCH_KEY'
);
实例化搜索存储后,我通过:search store
属性将其传递给ais index
Vue组件
这与普通的vue instantsearch
组件类似
要从结果中删除“thing”,我必须循环搜索存储并删除结果。搜索存储中有两个结果对象。我需要的是一个带有下划线的前缀,可以通过this.store访问。_results
(this
指可以访问搜索存储的Vue组件)
删除结果的完整代码:
this.store._results = this.store._results.filter(loopedArticle => {
return loopedArticle.objectID !== article.objectID;
});
以这种方式使用搜索存储,并以这种方式访问“私有”属性可能不合适,但这是我让它工作的唯一方法
希望这能帮助其他需要此功能的人