深结构数据
首先我们知道在vue中,数据的绑定都不用我们操心,例如在data中有一个msg的变量,你修改它,那么在页面上,msg的内容就会自动发生变化。但是如果对于一个复杂的对象,例如一个对象数组,你直接去给数组上某一个元素增加属性,或者直接把数组的length变成0,vue就无法知道发生了改变。
1.相信大家也遇到过,实际上是赋值的 界面上并不渲染
1 2 3 4 5 6 | change: function (index) { //增加性别属性 this .list[index].sex = '男' ; }, clear: function () { //清空数组 this .list.length = 0; } |
2. this.$set可解决这个问题 vue的规范 文档里面都有提到过
1 2 3 4 5 6 | change: function (index) { //增加性别属性 this .$set( this .list[index], 'sex' , '男' ) }, clear: function () { //清空数组 this .list=[]; } |
3.这种是我们要说的 this.$forceUpdate() 有没有感觉更方便一些了
1 2 3 4 5 6 7 8 | change: function (index) { this .list[index].sex = '男' ; this .$forceUpdate(); }, clear: function () { this .list.length = 0; this .$forceUpdate(); } |
标签:
$forceUpdate
, vue
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了