vue2在“创建”值之后创建的“计算”值

时间:2018-11-22 02:07:51

标签: vuejs2

当我搜索Google并发现所有文章都在vue的生命周期中告诉我时,我很困惑,因为“计算”早于“创建”,但是在我的代码中,我得到了结果2 在结果1之前,该如何解决?

computed: {
    options() {
        const imgData = {
          img: this.modifyData,
          fixedNumber: this.ratio
        }
        console.log(1)
        return Object.assign({}, this.defaultOptions, imgData)
    }
},
watch: {
    modifyData(nval) {
        // nothing to do yet
    }
},
created() {
    console.log(2)
},
  ...

更新: 'this.modifyData'来自axios.get(...),因此一开始它是不确定的,尽管我已经解决了这个问题,但是仍然困惑为什么结果2会比结果1早?

1 个答案:

答案 0 :(得分:0)

初始化vue实例后,将运行created函数。这就是为什么您看到2的原因。计算属性的值稍后注销1的原因是计算属性是惰性的,这意味着直到需要它们时才创建它们的值。