首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vue-meta: metaInfo没有访问计算属性的权限

Vue-meta: metaInfo没有访问计算属性的权限
EN

Stack Overflow用户
提问于 2018-11-14 08:05:02
回答 1查看 5.9K关注 0票数 14

我正在使用vue-meta动态地更改我的元标记。我只想在一些特定的页面上更改它。

我正在使用metaInfo函数,并试图更改,例如,一个标题。但是来自getter的数据还没有定义,这就是为什么我不能在元标记中更改标题的原因。metaInfo函数似乎试图在组件实际拥有数据之前访问数据。

下面是组件中的代码:

代码语言:javascript
复制
<template>
...
</template>

<script>
 export default {
     metaInfo() {
       return {
         title: this.getViewPage.data.meta.title, // data is undefined
    };
  },
  created() {
     this.loadViewPage();
  },
  computed: {
     ...mapGetters(['getViewPage']),
  },
  methods: {
     ...mapActions(['loadViewPage']),
};
</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-21 13:10:37

vue-meta只是从您的metaInfo函数(根据插件源代码)创建计算属性,所以我假设您的loadViewPage操作异步地填充了data对象,而您的问题只是转换为空检查问题。

因此,您应该在使用数据属性之前检查数据,并且当数据被加载时,metaInfo也会更新对象:

代码语言:javascript
复制
     metaInfo() {
         // don't know your return object structure, 
         // maybe you should check whole this.getViewPage
         let data = this.getViewPage.data; 
         return {
             title: data ? data.meta.title : "some placeholder title",
         }
     };
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53295519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档