-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
vue数据更新, 视图未更新 #1
Comments
喔学习了. |
前面正常 错误如下
ERROR in Error: Child compilation failed:
Child html-webpack-plugin for "index.html":
Child html-webpack-plugin for "admin.html":
` |
@usairaq 项目比较老了,好多依赖包要调整,有空我修复一下 |
多谢回复,期待! |
@usairaq 已经修复了,拉新, |
vue数据更新, 视图未更新
在使用 vue 过程中,可能经常有遇到
vm.items[i] = xxx
修改数据model之后,视图未更新重新渲染问题,基于这个问题:Vue.js
不能检测到下面数组变化:1.直接用索引设置元素,如 vm.items[indexOfItem] = newValue;
2.修改数据的长度,如 vm.items.length = newLength。
Vue.js 1.0
为了以上问题, 扩展了观察数组,为它添加了
$set()
和$remove()
方法:$set()
方法$remove()
方法, 用于从目标数组中查找并删除元素,在内部它调用 splice(), 那么:Vue.js 2.0
1.解决第一种情况
2.解决第二种情况直接使用
splice
Vue.js
对于数组变动检测,还包装了被观察数组的变异方法。数组变动检测
变异方法
Vue.js 包装了被观察数组的变异方法,故它们能触发视图更新。被包装的方法有:
小知识
: 其实是改变原有数组,整体变为改变属性变更。重塑数组
变异方法(mutation method),顾名思义,会改变被这些方法调用的原始数组。相比之下,也有非变异(non-mutating method)方法,例如:
filter()
,concat()
,slice()
。这些不会改变原始数组,但总是返回一个新数组。当使用非变异方法时,可以用新数组替换旧数组:Vue1.0 数组更新检测
Vue2.0 数组更新检测
The text was updated successfully, but these errors were encountered: