首页   注册   登录
 Sapp 最近的时间轴更新
Sapp

Sapp

V2EX 第 175301 号会员,加入于 2016-05-30 17:26:16 +08:00
今日活跃度排名 3507
Sapp 最近回复了
接楼上
比如

data() {
return {
list: [{name: '小明'}]
}
}

methods: {
hanlderClick() {
this.list[0].name ='小刚'
}
}

你可以尝试一下,vue 在页面是会追踪这个变化的,翻一下 vue 源码你就知道,vue 在对于数组的处理走了一个遍历,当是对象的时候劫持一下这个对象,是其他类型则不处理,这也是我很费解的地方所在,按照 vue 作者的说法不处理数组是因为性能问题,可是又为什么要对对象进行处理呢? 既然对对象进行处理,顺带把其他类型也处理了不可以么? 另一个很费解的地方就是 vue 在文档里并没有很深入的提到这个问题,只是说了 Object.defineProperty 不能劫持数组本身,但是这并不代表就不能实现解除数组元素(事实上 vue 也确实劫持了数组里的对象元素)

https://codesandbox.io/s/morning-haze-6dxke?file=/src/App.vue
我写了个例子你可以试一下,单独点变化名字,是会触发变化的,但是点变化年龄并不会触发视图更新
如果我没理解错误的话,楼上的都说的不完全对,包括 vue 文档,这是一个很复杂也很令人费解的问题,我不清楚 vue 为什么要这么设计,事实上 Object. defineProperty 是可以做到追踪数组变化的,就算在 vue 里,vue 也实现了对数组的一部分操作,比如
data() {

}
@lcdxiangzi 还有这样的? 成都的非机动车红绿灯都是和行人的同步的,而且都是摆在一起的,按理说肯定是跟行人一起走啊,只听说过不让骑着过马路的
@shenjinpeng 这不是标题最前面就是昆明吗? v2 支持修改标题了吗
这个项目 8000 真的能搞定?别说美元,换成英镑都不够吧,我大概看了一下这个网站不考虑移动端什么的了,光是 web 页面恐怕都有上百个?还不算后端接口,还是说能有什么现成模板直接生成吗?
你连 npm 都不用上传,抽成一个合集直接 git 地址引用就可以了,比如:npm i -D git+xxx 。当然你也可以尝试在一个脚手架里搞多个项目,这样抽都不用抽了
15 小时 52 分钟前
回复了 he110comex 创建的主题 问与答 你会换购小米昨晚刚发布的 Redmi K30 至尊纪念版吗?
平台砍价是一定的,我的 x 年初卖 1800 平台都给我砍了 100
非机动车为什么看机动车的红绿灯,明显是跟着行人走啊
16 小时 0 分钟前
回复了 bibiisme 创建的主题 宽带症候群 四川移动 四川电信宽带对比感受
@smartisan2047 你在市中心吗?我在天府新区这边新的小区基本都有了
我觉得当你觉得自己身边人都是傻子,你该反思一下自己为什么进了这种公司,并且到现在都还没有走
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1225 人在线   最高记录 5168   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 57ms · UTC 18:40 · PVG 02:40 · LAX 11:40 · JFK 14:40
♥ Do have faith in what you're doing.