vue computed 中操作DOM和给对象添加属性遇到的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yilanyoumeng3/article/details/88172911

这两天使用vue做东西遇到一些问题,今天总结记录一下:

  1. 在computed中没法操作dom元素,比如
computed: {
 w() {
 return  this.$refs.box.offsetWidth
}
}

运行中报undefined错误,后来改成在mounted中获取this.$refs.box.offsetWidth,后来发现,在computed中,DOM元素未加载下来,保险起见,还是在mounted操作DOM

  1. 给普通对象添加新的属性,需要用到vue.set方法才起作用,界面才能更新过来
    比如
 obj = {name: '岚枫秋秋', sex: 'woman'}

如果给其加上age属性,一般是这样添加

obj.age=29

但是在vue中不起作用,界面查不到,改成

this.$set(obj, age, 29)

vue界面中就可以看到效果了

这些都是细节的问题,做项目少,还是缺乏经验,今天在这里记录一下这些问题,给大家分享一下。

猜你喜欢

转载自blog.csdn.net/yilanyoumeng3/article/details/88172911