美文网首页
Vue的坑——关于Watch

Vue的坑——关于Watch

作者: 念念碎平安夜 | 来源:发表于2019-04-26 09:29 被阅读0次

在对数据进行监听的时候,当数据data进行变换,watch将进行一系列的操作,如果这些操作可能会对监听的数据data进行修改的时候,数据data将会改变,那么又将会被watch所监听到,一直重复,陷入一个死循环。

说的简单明了一些,如何对数据进行操作,但又不会对原来的数值进行改变。。。

直接将数据复制一份,即克隆值,watch对数据进行的操作只会针对克隆值,而数据值本身不会变动,那么就不会再次触发watch的监听

msg(val, oldVal) {
    var newArr = [];//定义一个数组存放克隆值
    this.$data.msg.forEach(function(e, i) {
        newArr.push(e);//循环遍历将数值复制给克隆值,注意不能采用"="的赋值操作,否则还是会改变数据值本身
    })
    this.$data.data = newArr
}

相关文章

网友评论

      本文标题:Vue的坑——关于Watch

      本文链接:https://www.haomeiwen.com/subject/gowxnqtx.html