<prismic-link> 组件没有为 vue 路由器生成 url
<prismic-link> component not generating url's for vue router
我正在跟随 Lucie Habere 创建食谱网站 w/Vue Router & Prismic。我遇到的问题是我的 index.vue[=58 上的 prismic-link 组件=] 页面没有为 vue 路由器生成锚标记 href 字段。
在查看开发工具时,我发现在我的响应中,结果对象 url 字段为空白,而在示例站点页面上它 returns页面的相对路径:
(i.e. url "/recipes/gluten-free-oat-dumplings").
所以,显然 prismic-link 生成的锚标签具有 href="" 属性值。我认为这就是问题所在。
我还注意到我对 Prismic 的初始查询不包括查询参数:
(https://mybestrecipes.cdn.prismic.io/api/v2/documents/search?ref=YWhMghIAAElp5kmP&q=[[at(document.type, "recipe")]]&pageSize=100)
而露西的例子确实如此
(https://the-last-straw.cdn.prismic.io/api/v2/documents/search?ref=YRv4vBIAAB8AWKJm&q=[[at(document.type, "recipes")]]&routes=[{"type":"home","path":"/"},{"type":"recipes","path":"/recipes/:uid"}]&pageSize=100).
我还在 vue.config.js 文件中添加了“runtimeCompiler :true”。一切都无济于事。我不知道问题是否出在我的内容建模上,因为您看不到 Prismic 模式视频。
这是我的 prismic.js:
import { createPrismic } from "@prismicio/vue";
const prismic = createPrismic({
endpoint: "mybestrecipes",
clientConfig: {
defaultParams: {
routes: [
{ type: "home", path: "/" },
{ type: "recipe", path: "/recipe/:uid" },
],
},
},
});
export default prismic;
以下是来自 devtools 的一些快照:
巧合的是,我克隆了她的仓库,也出现了同样的问题。然而演示站点工作正常。
感谢任何帮助解决这个问题的人。
这里是露西~
事实上,在与 Alex 的直播中,我们使用了该工具包的 alpha 版本。我们已经对底层客户端工具包发布了一些重大更改(因为我们处于 alpha 阶段):routes
参数不再嵌套在 defaultParams
下,您现在应该可以使用这样的东西:
import { createPrismic } from "@prismicio/vue";
const prismic = createPrismic({
endpoint: "mybestrecipes",
clientConfig: {
routes: [
{ type: "home", path: "/" },
{ type: "recipe", path: "/recipe/:uid" },
],
},
});
export default prismic;
现场演示仍在运行,因为仍在使用旧版本的工具包:relaxed: 我将在本周晚些时候更新它!
如有任何问题请告诉我们!
我正在跟随 Lucie Habere 创建食谱网站 w/Vue Router & Prismic。我遇到的问题是我的 index.vue[=58 上的 prismic-link 组件=] 页面没有为 vue 路由器生成锚标记 href 字段。
在查看开发工具时,我发现在我的响应中,结果对象 url 字段为空白,而在示例站点页面上它 returns页面的相对路径:
(i.e. url "/recipes/gluten-free-oat-dumplings").
所以,显然 prismic-link 生成的锚标签具有 href="" 属性值。我认为这就是问题所在。
我还注意到我对 Prismic 的初始查询不包括查询参数:
(https://mybestrecipes.cdn.prismic.io/api/v2/documents/search?ref=YWhMghIAAElp5kmP&q=[[at(document.type, "recipe")]]&pageSize=100)
而露西的例子确实如此
(https://the-last-straw.cdn.prismic.io/api/v2/documents/search?ref=YRv4vBIAAB8AWKJm&q=[[at(document.type, "recipes")]]&routes=[{"type":"home","path":"/"},{"type":"recipes","path":"/recipes/:uid"}]&pageSize=100).
我还在 vue.config.js 文件中添加了“runtimeCompiler :true”。一切都无济于事。我不知道问题是否出在我的内容建模上,因为您看不到 Prismic 模式视频。 这是我的 prismic.js:
import { createPrismic } from "@prismicio/vue";
const prismic = createPrismic({
endpoint: "mybestrecipes",
clientConfig: {
defaultParams: {
routes: [
{ type: "home", path: "/" },
{ type: "recipe", path: "/recipe/:uid" },
],
},
},
});
export default prismic;
以下是来自 devtools 的一些快照:
巧合的是,我克隆了她的仓库,也出现了同样的问题。然而演示站点工作正常。
感谢任何帮助解决这个问题的人。
这里是露西~
事实上,在与 Alex 的直播中,我们使用了该工具包的 alpha 版本。我们已经对底层客户端工具包发布了一些重大更改(因为我们处于 alpha 阶段):routes
参数不再嵌套在 defaultParams
下,您现在应该可以使用这样的东西:
import { createPrismic } from "@prismicio/vue";
const prismic = createPrismic({
endpoint: "mybestrecipes",
clientConfig: {
routes: [
{ type: "home", path: "/" },
{ type: "recipe", path: "/recipe/:uid" },
],
},
});
export default prismic;
现场演示仍在运行,因为仍在使用旧版本的工具包:relaxed: 我将在本周晚些时候更新它!
如有任何问题请告诉我们!