首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据属性“文章”已声明为属性。改为使用适当的默认值

数据属性“文章”已声明为属性。改为使用适当的默认值
EN

Stack Overflow用户
提问于 2017-02-07 18:29:17
回答 4查看 37K关注 0票数 42

代码:

代码语言:javascript
复制
export default {
    props: {
        article: {type: Object}
    },
    data () {
        return {article: this.article}
    }, 
    methods: {
        itemClick () {
            console.log('itemClick');
        }
    }
};

Chrome开发者工具中的Vue2.1.10警告:The data property "article" is already declared as a prop. Use prop default value instead.

EN

回答 4

Stack Overflow用户

发布于 2017-02-07 18:36:22

您已经在dataprops这两个位置添加了article。它应该是其中之一,这就是为什么你会得到这个错误。你必须把它移出一个地方,如果你是从父组件传递的,那就把它作为道具保留下来。如果这是本地实例数据,请将其保存在vue data块中。

代码语言:javascript
复制
export default {
  props: {
    article: {
      type: Object
    }
  },
  data() {
    return {
      article: this.article
    }
  },
  methods: {
    itemClick() {
      console.log('itemClick');
    }
  }
};
票数 39
EN

Stack Overflow用户

发布于 2018-01-05 15:13:02

一旦在props中声明了article,就不需要在side data中返回它。见下文。

代码语言:javascript
复制
export default {
  props: {
    article: {type: Object}
  },

  data () {}, 

  methods: {
    itemClick () {
      console.log('itemClick');
    }
  }
};
票数 13
EN

Stack Overflow用户

发布于 2020-04-27 21:54:28

如果你使用的是TypeScript,那么你可能已经给prop赋值了。

代码语言:javascript
复制
@Component
export default class HelloWorld extends Vue {
  @Prop({ type: Array }) users = []; // wrong, do not assign to a prop
}

更改为此

代码语言:javascript
复制
...
@Prop({ type: Array }) users;
...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42087441

复制
相关文章

相似问题

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