Vuejs2 Algolia vue instantsearch-删除结果

Vuejs2 Algolia vue instantsearch-删除结果,vuejs2,algolia,vue-instant-search,Vuejs2,Algolia,Vue Instant Search,我现在正在用Algolia做实验。到目前为止,这真的令人印象深刻。然而,我遇到了一些“障碍” 我正在使用vue instantsearch包。它目前仅在管理页面上使用。在这个页面上,我可以点击一个按钮,打开一个模式,确认是否应该删除它。我正在努力寻找一种方法来“简单地”从结果中删除指定的文章,而无需重新加载 我基本上已经浏览了文档,找到了deleteObjects方法,但是它不能从ais index组件中访问,也不能从它的任何子组件中访问 所以,我的问题是,我该如何正确地实现这一点 在这件事上的

我现在正在用Algolia做实验。到目前为止,这真的令人印象深刻。然而,我遇到了一些“障碍”

我正在使用
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;
});
以这种方式使用搜索存储,并以这种方式访问“私有”属性可能不合适,但这是我让它工作的唯一方法

希望这能帮助其他需要此功能的人