vue.js - 如何在nuxtjs中将布局属性传递给页面组件

标签 vue.js nuxt.js

我对 VueJS 和 NuxtJS 完全陌生。我似乎无法将布局中的属性传递给页面组件。

这是我的layouts/default.vue

<template>
    <Nuxt myprop="hello world" />
</template>

<script>
export default {
  data: () => ({
    myprop: 'hello galaxy',
  }),
}
</script>

这是我的pages/index.vue

<template>
  <div>My Prop is: {{myprop}}</div>
</template>

<script>
export default {
  props: {
    myprop: {
      type: String
      },
  },
}
</script>

当我加载我的应用程序时,我希望看到My Prop is: hello world。但相反,我看到 My Prop is:,而且 myprop 似乎是空的。

我做错了什么? VueJS 或 NuxtJS 中布局组件如何将属性传递给子组件?

最佳答案

您不能以这种方式传递 props,但您可以使用 provide/inject 模式将数据从布局传递到页面:

layout/default.vue

<template>
    <Nuxt  />
</template>

<script>
export default {
  provide: function () {
    return { myprop: this.myprop };
  },
  data: () => ({
    myprop: 'hello galaxy',
  }),
}
</script>

pages/index.vue

<template>
  <div>My Prop is: {{myprop}}</div>
</template>

<script>
export default {
  inject: ["myprop"],
}
</script>

关于vue.js - 如何在nuxtjs中将布局属性传递给页面组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68771762/

相关文章:

javascript - 在 Vuejs 和 Laravel 中上传文件以及动态输入字段

javascript - checkin Nuxt Asyncdata 后重定向

nuxt.js - 全局 Mixins 到 Nuxt v2.4 : undefined

javascript - 如何在组件vue js的数据中引用同一组件的方法

javascript - 如何使用 `@click` 将 href 传递到 Vue js 中的方法?

vue.js - VueJS 对 v-for 中的每个项目进行 API 调用并将它们返回到正确的位置

vue.js - 如何在 Nuxt.js 中使用 Mixpanel

javascript - 初学者使用 Nuxt.js 选择网站框架

gulp - Vueify - 需要 *.vue 文件返回空对象

javascript - 如何使用 Vue CLI3 将代码拆分为多个包