没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
vue存在一个比较深的问题就是data中的属性对象如果在初始化的时候为{},那么后面在方法用普通的js语法赋值会无效 这里是data data() { return { model: {} }; } 这里是方法里的普通赋值 afterUpload(response) { this.model.icon = response.url; } 普通方法会无效,需要使用vue提供的方法重新显示声明 afterUpload(response) { this.$set(this.model,'icon',response.url) } 补充知识:Vue.js – 数组和对象的赋值动态变
资源详情
资源评论
资源推荐
vue data对象重新赋值无效对象重新赋值无效(未更改未更改)的解决方式的解决方式
vue存在一个比较深的问题就是data中的属性对象如果在初始化的时候为{},那么后面在方法用普通的js语法赋值会无效
这里是data
data() {
return {
model: {}
};
}
这里是方法里的普通赋值
afterUpload(response) {
this.model.icon = response.url;
}
普通方法会无效,需要使用vue提供的方法重新显示声明
afterUpload(response) {
this.$set(this.model,'icon',response.url)
}
补充知识:补充知识:Vue.js – 数组和对象的赋值动态变化数组和对象的赋值动态变化 & 克隆克隆
这篇文章主要介绍了 vue 数组和对象不能直接赋值动态变化 & 克隆情况和解决方法,需要的朋友可以参考下。
一、直接赋值动态变化一、直接赋值动态变化
1.1、Vue 不能检测以下变动的数组
当你利用索引直接设置一个项时,例如
vm.items[indexOfItem] = newValue
当你修改数组的长度时,例如
vm.items.length = newLength
1.2、解决方案
当第一种情况需求时,可以使用
this.$set(this.arr,index,newVal)
或
this.arr = [新数组]
2.1、Vue 不能检测以下变动的对象
当你修改一个初始化时,不存在的对象里的属性时
this.obj.b = 3
Ps:在不刷新页面父子组件的情况下,二次触发就可以,因为由于第一次的触发渲染,但第一次并没有触发,只有第二次会
显示。
2.2、解决方案
当修改一个初始化已存在的属性,可以直接检测到动态变化
this.obj.a = 3
或
上面不能检测到的另一种解决方案
this.$set(this.person,’age’,12)
weixin_38621272
- 粉丝: 3
- 资源: 958
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_20241116_215300_com.baidu.netdisk.jpg
- java医院人事管理系统源码数据库 MySQL源码类型 WebForm
- 道路养护病害数据集-含原图和标签
- 2023-04-06-项目笔记 - 第三百一十九阶段 - 4.4.2.317全局变量的作用域-317 -2025.11.16
- 2023-04-06-项目笔记 - 第三百一十九阶段 - 4.4.2.317全局变量的作用域-317 -2025.11.16
- 1503ANDH1503002016_20241116222825
- 时间序列-黄金-15秒数据
- C#HR人事管理系统源码数据库 MySQL源码类型 WebForm
- C#CS餐饮管理系统源码数据库 SQL2008源码类型 WinForm
- 蛾类识别系统(深度学习+UI可视化)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0