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

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

1. 在computed中没法操作dom元素,比如

```

computed: {

w() {

return  this.$refs.box.offsetWidth

}

}

```

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

2.  给普通对象添加新的属性,需要用到vue.set方法才起作用

比如

```

obj = {name: '岚枫秋秋', sex: 'woman'}

```

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

```

obj.age=29

```

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

```

this.$set(obj, age, 29)

```

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

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

你可能感兴趣的:(vue computed 中操作DOM和给对象添加属性遇到的问题)