问题标签 [vue-instant-search]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vue.js - Vue Instantsearch SEO 友好的 URL
我正在使用 Vue Instantsearch,我想让 URL 看起来有点悦目,所以我遵循了本指南:https ://www.algolia.com/doc/guides/building-search-ui/going-further/routing -urls/vue/#seo-friendly-urls
但问题是我无法让类别过滤器正常工作。当我使用类别过滤器时,会生成路由并附加到地址栏,但是当我再次访问相同的 URL 时,无论是通过在地址栏上按 enter 还是刷新页面,类别过滤器都会被剥离,只保留查询字符串.
这是我到目前为止所拥有的:
该功能很好地选择了该类别routeToState
。但是一旦它到达stateToRoute
,该类别就不再存在了。我的索引名称是my_index
.
任何想法我的代码有什么问题?
更新
我弄清楚是什么导致 URL 重置。我<ais-configure>
用来根据用户的当前位置对结果进行排序:
默认情况下coordinates
为空:
但是在创建组件时,我会确定用户的位置并更新coordinates
. 这将触发它重新渲染。因此失去了通过 URL 提供的初始状态:
我怎样才能让它不那样做?
algolia - 集成 VueInstantSearch Algolia
我是 Algolia 即时搜索和其他组件的新手。我为 Algolia 创建了一个单独的组件。
我已经运行 npm 命令来安装依赖项
下面是组件 SearchBox 中的模板代码。
app.js 看起来像这样
我按照提供的文档仍然无法显示搜索框。谁能帮我知道这里的问题。
仅供参考:我正在将此组件导出到另一个父组件中。
javascript - Algolia vue Instantsearch 动态设置搜索查询
我在根组件(App.vue)上有一个搜索栏。我想输入一个查询,然后它应该使用输入值@keyup.enter
重定向到Search
组件视图。v-text-field
使用重定向是$router.replace
因为用户可能会在同一路由中搜索不同的关键字。
下面的代码有效,但只有ONCE。如果我输入新的搜索词,URL 会更改,但结果保持不变。
应用程序.vue
视图/搜索.vue
我试过的
做了一个 hack-ish 方法(测试 1)来解决它,但没有奏效(我很高兴,因为它感觉不对)。下面是对搜索组件的非工作代码添加。创建了计算和监视属性,该属性在第一次加载时从 AlgoliaSearchHelperquery
获取其数据this.$route.query.q
和分配的数据。algoliaHelper
searchFunction
当我输入一个新的搜索词时,观察者工作并且查询确实改变了。尽管如此,调用助手并在观察者中使用新术语设置其查询并没有改变 Algolia 的结果。
然后我使用了路由 URL(测试 2),ais-instant-search
但仍然没有解决问题。也许我实施错了?我真的很想理解 Algolia 的文档,但它太难消化了。
views/Search.vue - 测试 1(失败)
views/Search.vue - 测试 2(失败)
如果你们知道如何解决这个问题,我将不胜感激。
javascript - VueInstantSearch(Algolia) 中的 ais-refinement-list 不呈现列表
我一直在使用 algolia 的细化列表小部件遇到问题。首先,我得到的数据结构是这样的:
我的页面上有这种类型的结构:
在 ais-configure 中,我已将一个 facetsFilters 变量传递给过滤器,该变量包含具有此类内容的字符串:
它工作正常,我在选定的类别中得到结果,问题开始了,当我尝试在这里获取细化列表时:
尽管在仪表板上,我有一个空列表,但该属性被添加为 attributesForFacetings,并且在 ais-configure 过滤器中带有 categories.id 的参数也可以正常工作。
任何建议都非常感谢!
vue.js - 从 algolia 索引中检索属性中点注释的深度键列表,以在 vue 即时搜索中制作细化列表
这里的最终目标是在对象上使用一个名为 attributes 的属性,它是一个对象,并使用 vue Instantsearch 组件 ais-refinements-list 制作细化列表
https://www.algolia.com/doc/api-reference/widgets/refinement-list/vue/
最终目标的一个非常简单的例子
问题是要做到这一点,我需要从索引中列出点分隔的深层属性键。拥有属性对象,它在设置中被标记为分面,它也被标记为可搜索
试过了
使用搜索 https://www.algolia.com/doc/api-reference/api-parameters/attributesForFaceting/
然后从 algolia lite 切换并拉取设置
它返回一个带有键的对象
如何获取深度键列表?
我相信这是同一个问题: 在 algolia vuejs 即时搜索中创建一个方面的子级别的细化列表
vue.js - Vue即时搜索自动完成消失太快
我有一个自动完成组件来搜索我的索引,但它消失得太快了,没有显示任何东西,但是当我输入一个点时,它会正确显示数据。这是代码
直接取自源https://www.algolia.com/doc/api-reference/widgets/autocomplete/vue/#examples
有什么理由为什么当我输入一个点时,它会显示自动完成结果,而当我输入除 k 之外的任何其他字母时它不会显示?
javascript - vue-instantsearch 在我的 VueJS 3.0 项目中不起作用
我有一个结合 Firebase 和 Algolia 的 VueJS 3.0 项目(选项 API)。一切正常。我在 Algolia 中定义了多个索引,我可以使用自己编写的 Vue 代码同时搜索它们,但我更愿意使用来自 Algolia 的 vue-instantsearch。我试图设置基础知识来搜索一个索引(companyIndex),但是我无法让它工作。我得到的错误是这样的(####### 是我的钥匙):
这是我的 main.js:
这是我的组件的摘要:
我究竟做错了什么?
vue.js - 查询多个索引时,如何为 algolia 中的每个索引使用不同的搜索参数?(Vue 即时搜索)
我正在使用具有多个索引的 Vue Instantsearch。
查询发生在ais-search-box
组件中,同时查看两个索引并在ais-autocomplete
组件中显示结果。
这很好用,但是我找不到将每个索引分配给相应ais-configure
组件的方法,因此必须对两个索引使用相同的过滤器。正如您所想象的那样,两个索引都包含不同的属性,这不能按预期工作。
文档提到了这一点:
由于这是两个专用索引,因此您可以将不同的参数和小部件应用于搜索。您可以通过向 传递不同的参数
ais-configure
或在每个组件中安装不同的小部件来实现ais-index
。(来源:https ://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/multi-index-search/vue/ )
似乎不清楚如何“将不同的参数传递给ais-configure
”?谁能提供一个例子?