vuejs2 - 在“创建”值之后创建的 vue2“计算”值
问题描述
我很困惑,因为当我搜索谷歌并发现文章都告诉我在 vue 的生命周期中,“计算”在“创建”之前,但是在我的代码中,我在结果 1 之前得到了结果 2,如何解决这个问题?
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 之前?
解决方案
当 vue 实例初始化时,created
函数运行。这就是你看到的原因2
。计算属性的值稍后注销的原因1
是计算属性是惰性的,这意味着在需要它们之前不会创建它们的值。
推荐阅读
- vue.js - VueSocket - 向所有打开的应用程序实例发送消息
- c# - 使用托管标识与 Azure SQL 的 EF Core 连接
- javascript - 如何在 React 和 Jest 中对 Promise 拒绝进行单元测试
- regex - 如何使用度量单位对类似项目进行分组和添加
- php - 用php从cookie中删除一个值
- python - 图形python末尾的main()函数返回语法
- javascript - 即使firestore中存在doc,如何修复firestore中的“doc.exists”错误?
- javascript - 从作为承诺返回的 Angular 查询参数创建测试
- node.js - 使用 ffmpeg 创建的视频无法在 Windows 媒体播放器中播放
- c - C 语言 - 使用 fscanf 处理长文本文件