【问题标题】:In vue.js, an error about computed property在 vue.js 中,关于计算属性的错误
【发布时间】:2018-04-09 17:05:28
【问题描述】:

我是 vue.js 的新手,尝试使用计算属性,但出现错误

这会导致错误

export default {
    name: 'echarts_demo',
    data() {
      return {
        data:[],
        raw_data:[]
      }
    },
    computed:{
      deal_Data:
        this.do_data

    },
    methods:{
      do_data: function (){
       .....
        }
      },
    },
}

如果我把它改成 ,它可以很好地工作

 computed:{
  deal_Data:function(){
    this.do_data()
  }
},
methods:{
  do_data: function (){
     ...
  },
},

那是什么原因呢?

【问题讨论】:

  • 是的,看起来 Vue 不支持传递方法定义。我的问题是为什么需要方法定义?只需将该代码放在计算部分即可。
  • 没有理由 vue 不能这样做,它只是 javascript。问题是 this 不是正确的上下文。
  • 错误是什么?

标签: vue.js


【解决方案1】:

计算属性必须返回一个值。在计算属性中改为deal_Data() { return this.do_data()}。这种方法的缺点是计算的属性永远不会更新。

计算的属性根据它们的依赖关系进行缓存。计算属性仅在其某些依赖项发生更改时才会重新评估。Computed Properties - Guide

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-09
    • 2016-08-09
    • 2019-08-08
    • 2017-10-06
    相关资源
    最近更新 更多