当尝试使用 vue-i18n 在我的翻译字符串中插入值时,我不断收到此错误:
检测“未知”类型的令牌
我的messages.json样子如下:
{ test:
{ "at_location": "At { name }" }
}
Run Code Online (Sandbox Code Playgroud)
用法:
<p>
{{ $t('test.at_location', { name: location.name }) }}
</p>
Run Code Online (Sandbox Code Playgroud)
这里location.name的定义非常好,所以我想知道出了什么问题......
我想从中间件运行后出现的 ssr 服务器传递一些额外的数据,并在客户端中间件上使用它。有点类似于 nuxt 已经对 vuex 所做的事情。
挂钩处的文档render:context:
每次路由被服务器渲染并且在 render:route hook 之前。在将 Nuxt 上下文序列化到 window.__NUXT__ 之前调用,可用于添加一些可以在客户端获取的数据。
现在我的自定义插件定义了一些钩子,如文档中所述,但并非所有钩子都被正确调用:
module.exports = function() {
this.nuxt.hook('render:route', (url, result, context) => {
console.log('This one is called on every server side rendering')
}
this.nuxt.hook('renderer', renderer => {
console.log('This is never called')
}
this.nuxt.hook('render:context', context => {
console.log('This is only called once, when it starts loading the module')
}
}
Run Code Online (Sandbox Code Playgroud)
我做错了什么以及如何将自定义 ssr 数据传递到客户端渲染器?
根据docs:中间件将按以下顺序依次执行:
现在,我想知道如何将中间件添加到一组页面中,如下所示:
pages/
--| _slug/
-----| comments.vue
-----| index.vue
Run Code Online (Sandbox Code Playgroud)
我认为有一些选择:
1)我可以将中间件添加到目录中的每个单独页面中,但这并不干。
2)另一个解决方案是nuxt.config.js在路由上有条件地将中间件添加到中,但是这也不适合该代码,除了它也可以在任何其他路由上运行。
3)我也许可以将嵌套路由与仅包含单个<nuxt-child>元素的模板一起使用,但是我不确定其副作用:是否仍可以使用页面组件属性?这会将所有内容嵌套在另一个DOM元素中吗?
任何帮助表示赞赏。
I want to fetch an svg from a remote and bring it to life by compiling it. With 'bring to life' I mean selecting some of it's elements by class and dynamically append a list of components into it.
Right now I just use <div v-html="svg"/> and my component looks like this:
data() {
return {
svg: '',
}
},
async created() {
let res = await axios.get(mySvgSrc)
this.svg = res.data
}
Run Code Online (Sandbox Code Playgroud)
But this doesn't allow me to bring it …