首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vuejs vue-property-修饰器数据字段声明

Vuejs vue-property-修饰器数据字段声明
EN

Stack Overflow用户
提问于 2018-12-19 04:02:32
回答 1查看 1.7K关注 0票数 1

Vue新手。

使用vue-property-decorator &也尝试了vue-class-component

根据github (https://github.com/kaorun343/vue-property-decorator)的说法,data对象是在类中明确声明的,例如ecosystem

代码语言:javascript
复制
  import {Component, Vue} from 'vue-property-decorator';

  @Component({
     components: {}
  })
  export default class HelloWorld extends Vue {
      ecosystem: [
        {
          text: 'vuetify-loader',
          href: 'https://github.com/vuetifyjs/vuetify-loader'
        },
        {
          text: 'github',
          href: 'https://github.com/vuetifyjs/vuetify'
        },
        {
          text: 'awesome-vuetify',
          href: 'https://github.com/vuetifyjs/awesome-vuetify'
        }
      ] 
  }

而不是

代码语言:javascript
复制
  data() {
    return {
      ecosystem: ['bla', 'bla', 'bla']
    }
  }

但是,当我尝试使用它时,收到错误Property or method "ecosystem" is not defined on the instance but referenced during render.

呼叫到

代码语言:javascript
复制
  created() {
    console.log(this.ecosystem)
  }

还返回undefined

我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-19 04:37:49

请参阅运行示例:https://codesandbox.io/s/y2nop643xv

像这样声明生态系统:

代码语言:javascript
复制
ecosystem: any = [
    {
      text: "vuetify-loader";
      href: "https://github.com/vuetifyjs/vuetify-loader";
    },
    {
      text: "github";
      href: "https://github.com/vuetifyjs/vuetify";
    },
    {
      text: "awesome-vuetify";
      href: "https://github.com/vuetifyjs/awesome-vuetify";
    }
  ];

还有一个小技巧,尽量避免使用任何,你正在使用typescript,使用类型化的对象

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53840229

复制
相关文章

相似问题

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