目前通过vue+element绑定了一个table,假设数据结构是这样的
var t=[
{name="a"},
{name="b"},
{name="c"},
]
这种,然后在table里显示name等列的值
我对这个表进行前段的增删改查,增加删除没问题,页面渲染,updated也执行
在修改的时候,我只改name,大概代码是这样的
t.foreach((e,i)=>{
if(e.name==oldname){
e.name=newname
}
})
大体就是这样
现在的结果是,代码能运行,数据也修改了,页面也正常渲染了,但updated钩子没执行!
问题就在于这个钩子为什么没执行呢?
我换成beforeUpdate,也不执行
现在只能用forceupdate,但不知道这个有没有副作用,而且也太费劲了
到处force,不太好吧,毕竟
别太放肆,没什么用……
请问vue+element的数组updated问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-微编程 2021-07-28 21:37关注
为何不去看看官方文档呢,官方文档不是说了吗?也提到了相关的说明
updated可能并不会执行,最好的还是使用计算属性或者用watch监听数据变化,将你这个变化值的方法在写一份加入到watch里面做监听或者直接this.方法()
watch:{ update(){},//监听更新方法 }
随着测试的加深,一般监听时是不能监听到对象属性值的变化的,发现如果监听的是Object类型的复杂数据类型的话,这样写是无法监听key和value的变化的,需要对Object类型进行深层监听
所以watch开启深度监听watch:{ driver:{ update(){}, deep:true; } }
这样基本上就解决了vue组件beforeUpdate和updated生命周期钩子不执行的问题
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥15 关于大棚监测的pcb板设计
- ¥15 stm32开发clion时遇到的编译问题
- ¥15 lna设计 源简并电感型共源放大器
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题
- ¥20 win11修改中文用户名路径
- ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
- ¥15 帮我写一个c++工程