目前通过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 宇视监控服务器无法登录
- ¥15 PADS Logic 原理图
- ¥15 PADS Logic 图标
- ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
- ¥20 气象站点数据求取中~
- ¥15 如何获取APP内弹出的网址链接
- ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
- ¥50 STM32单片机传感器读取错误
- ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据
- ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)