• Gadzan
    2019-03-23
    1. Vue框架对数组的push、pop、shift、unshift、sort、splice、reverse方法进行了改造,在调用数组的这些方法时,Vue会Notify Wacher并更新视图。
    2. 如果的确想要利用索引直接设置数组的值可以使用Vue.set()方法,具体在
    https://cn.vuejs.org/v2/guide/list.html#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9
    可以了解。
    
     28
  • 風雲啸
    2019-03-18
    4分19秒。 this.list.push(1,2,3) Array.push()是会改变原数组的。

    作者回复: 对 描述有点问题,应该说并不会改变this.list的引用,只是改变了数组的内容

     1
     11
  • hau5yi
    2019-03-31
    我觉得直接用console给结论的方式太搞笑了,应该是由结果推出结论,而不是在必定触发的方法里把结论直接打印出来。你就直接打印这个变量,让大家就看这个变量,刚刚是怎样的,现在怎样了。再引出结论,大家就理解了。不然你改了代码,结论不改,容易造成误解啊。

    作者回复: 你这个“结果”“结论”,搞得我有点蒙。
    我想的是,结论我们是知道的,官方给出的,不是我们推导出来的,我要做的就是通过各种方式验证结论,加深理解。

    
     8
  • 朝花夕拾
    2019-03-19
    希望老师后面能讲一下响应式的原理
    
     5
  • KaKa
    2019-05-31
    老师··· 每节课你都会留有问题给学生作答, 评论里虽然有不同人的理解。 可是我还是希望老师留了问题以后 在下期视频开头前回头解答下上期预留的问题。不然每回留了问题 不会的还是不会。别人的回答也不一定准确。 希望老师能够采纳= =
    
     4
  • YANGFEI
    2019-03-19
    push是改变了数字内容,不改变引用的吧?

    作者回复: 对 描述的不够严谨

    
     4
  • pp2004266
    2019-04-18
    数组支持响应式更新的方法:push(),pop(),shift(),unshift(),splice(),sort(),reverse(),因为这些方法会改变原数组。
    不支持响应式更新的方法:filter(),concat(),slice(),这3个放法会返回新数组,可以用新数组替换原数组解决
    
     2
  • leixin
    2019-04-01
    老师, 开源项目Ant Design of Vue 会长期维护吗?觉得它比较漂亮,想用在项目上。

    作者回复: 会长期维护的哈

    
     2
  • 青灯暮雨
    2019-03-28
    this.name为什么要写到return外面,这样写和写在return中有什么区别,如果name在data函数中的return中定义,那么是会影响到子组件的吧?

    作者回复: 写到外面是为了演示一种场景就是,如果不写在data中,this.name的改变不会触发组件的更新

    
     2
  • Saki
    2019-10-20
    前两天遇到这类问题还纠结了挺久,明明debug时打印出来的值已经被改变,View却没有更新。
    网上找来的结果也只有一句话,Vue响应不了数组/对象成员的更改。
    原来原理在这~,是不是只有将对象的成员全都的声明在data return里,修改时View才会更新?
    临时添加的成员是否也做不到?
    还有,写在return外的变量,是不是就代表着不需要在View上使用?
    
     1
  • 萌太浪
    2019-03-18
    老师,你的vscode都装了哪些插件来使用vue开发呢?

    作者回复: vetur + eslint

    
     1
  • blueBean
    2020-02-03
    讲得不错,没啥废话
    
    
  • fusion
    2020-01-18
    老师,你这有源码地址吗?PropsAndData.vue没讲解啊
    
    
  • 霍进
    2019-12-25
    Vue 对数组的 push 、pop、shift、unshift 等方法进行了修改,这些作用于数组元素的方法仍会触发更新;像 arr.length = val 这种修改数组长度的方式 不会触发更新; 这是 Object.defineProperty 局限性导致的, 它定义的是一个对象上某个值的表现,而非对象本身。而 Proxy 定义的是一个对象上行为的表现,Proxy是不局限于某个属性的,因此它能够追踪到对象中属性的增加和删除。

    作者回复: 👍🏻

    
    
  • 18625322963
    2019-12-03
    提个问题,你们可以去试试,如果一个数据a在data里初始化并没有挂载到dom上,但是在接下来 的业务逻辑动态添加到dom里了,那么此时render会不会执行,vue对这种是怎么做的?
    
    
  • 皓
    2019-10-28
    原来的template并没有显示this.b呐...
    
    
  • 风中骄子
    2019-09-27
    如何让change data. b生效呢?我有个div需要动态显示的,和这个现象一样
    
    
  • 怀英
    2019-09-23
    #5W2H#
    What:vue触发组件更新
    Why:null
    Who:null
    Where:watcher
    When:null
    How:用getter/setter,在render之前做组件更新;更新的组件会被放入到watcher里面
    How much/how good/how bad:null
    展开
    
    
  • Strive
    2019-09-12
    哈哈哈,你认为的特殊情况只是你认为的特殊情况。😂
    
    
  • 好久好久好久好久好久
    2019-09-11
    老师,this.$forceupdate能不能算在强制触发响应式的方法里面呢?看了文档,它会强制vue实例再次渲染,那么在之前添加的属性会不会变成响应式呢
    
    
我们在线,来聊聊吧