• 唐 置顶
    2019-03-20
    本章节最后习题部分,表述有误,应该是防抖,不是节流 大家可以回顾下节流和防抖的区别
    
     9
  • RtyXmd
    2019-03-19
    $forceUpdate这个方法好想从没见过 也没用过

    作者回复: 平常业务开发中是比较少用的 其实就是强制更新的意思 不管数据是否变化

    
     4
  • leslee
    2019-03-23
    ```js
    watch: {
        firstname: (function () {
          var timer = null;
          return function (val) {
            clearTimeout(timer)
            timer = setTimeout(() => this.fullname = val + ' ' + this.lastname , 500)
          }
        })(),
        lastname: (function(val) {
          var timer = null;
          return function () {
            clearTimeout(timer)
            timer = setTimeout(() => this.fullname = this.firstname + " " + val , 500)
          }
        })()
      }
    ```
    展开
    
     2
  • yangfeng
    2019-03-19
    哦哦,原来。还有就是 Debounce是防抖吧,我记得老师您在讲堂说的是节流

    作者回复: 对的 我要表达的实际上是“防抖”

    
     1
  • 怀英
    2019-09-23
    #5W2H#
    What:计算属性computer 和 监-听-器watch
    Why:null
    Who:null
    Where:数据有变化的是否用
    When:null
    How:监-听-器能做的,计算属性都能做;反之不行
    How much/how good/how bad:null
    展开
    
    
  • 张飞洪
    2019-08-30
    请问vue适合做互联网主站?对seo和301的支持成熟吗?
    
    
  • Cris
    2019-06-28
    防抖和节流的区别,有什么好的资料推荐下
    
    
  • hope7th
    2019-05-21
    谢谢老师

    作者回复: 感谢支持

    
    
  • 梟
    2019-05-16
    watch一个含有多级属性的对象时,当子级属性发生变化,handler方法的表示新旧值的两个参数会出现值相同的bug,请问老师有没有比较好的解决办法呢?

    作者回复: 这不是bug,引用类型都是如此,
    我的使用方式是直接监听 这个对象,更改的时候直接更改这个对象,而不是更改这个子属性 如:this.obj = {...this.obj} 每次都是新值

    
    
  • wendom
    2019-04-20
    计算属性底层是怎么做缓存的,麻烦理一下
    
    
  • Geek_763d26
    2019-04-15
    老师,为什么computed中now的值没有变化

    作者回复: computed中的值是否变化依赖的是响应式数据,而now依赖的是Data.now(), 这个值并不是响应式数据

    
    
  • 网络修补匠
    2019-04-12
    不是很理解 @click="() => $forceUpdate()"
    这个 => 是什么意思?

    作者回复: 箭头函数 es6 js新标准 应该说也谈不上新了 建议学习一下 后面我们很多都是使用的新标准

    
    
  • 火云邪神0007
    2019-04-03
    这个防抖很实用的
    
    
  • 橘生淮南
    2019-03-25
    老师,方便把ppt发一下吗?看你有些图挺不错的画的,有助于理解,谢谢

    作者回复: 视频下方挂出来的github链接里面有课件哈

    
    
  • 思考的大腿
    2019-03-25
    请问老师,watch 和 computed 有性能差距吗?

    作者回复: 单纯监听的话,没有 不过computed可以缓存数据,有些场景是有性能提升的

    
    
  • 因为了解
    2019-03-23
    function debounce(fn, wait, immediate) {
        let timer = null;
        return function() {
            let args = arguments;
            let context = this;
            if(immediate && !timer) {
                fn.apply(context, args);
            }
            if(timer) clearTimeout(timer);
            timer = setTimeout(() => {
                fn.apply(context, args);
            }, wait);
        }
    }
    展开
    
    
  • 帆帆
    2019-03-22
    老师有更好的方法实现吗。后续的视频会讲布置的作业吗?
    防抖作业
    // 通过闭包的原来实现
      function delayer(func) {
        let timer = null
        return function (newValue) {
          clearTimeout(timer)
          timer = setTimeout(() => {
            func(newValue, this)
          }, 1000)
        }
    }


     watch: {
        firstName: delayer((newValue, _this) => {
          _this.fullName = newValue
        })
      }
    展开

    作者回复: 会讲的哈,实现形式很多种,都可以看看大家的实现形式,没有最优 只有更优

    
    
  • uinging
    2019-03-21
    我觉得尽量用 computed、事件 等方式达到目的,尽量不用 watch,因为前二者比较容易明白触发时机,后者只要数据更改了就会触发,不容易掌握这个触发时机,有时候容易出现一些意料之外的触发,引起bug。

    作者回复: 如果出现意料之外的bug,那应该是使用方式的不对,可以进一步排查下问题。
    不过,能用computed当然还是尽量用computed

    
    
  • 🇨🇳🇨🇳🇨...
    2019-03-21
    vue中监听数组的变化,底层原理就是重写了数组的push等方法,当然并不是直接覆盖Array原型上的方法,而是将声明数组的__proto__改成自己封装的原型

    作者回复: https://github.com/vuejs/vue/blob/dev/src/core/observer/array.js#L27
    通过Object.defineProperty改写了原方法,27行original是改写前记录的数组原方法,然后额外添加了Vue自己的逻辑

    
    
  • 刘彪
    2019-03-19
    this.$watch(key, throttle(function() {}, 500))

    作者回复: 不是应该用 Debounce 跟个合理嘛

    
    
我们在线,来聊聊吧