问答

关于 Vue 中的 watch $set 的用法

作者:admin 2021-06-08 我要评论

问题 : 代码如下,执行代码后, handler 函数会执行,输出 undefined。但是this.$set(this.data, 'checked', true); 这行代码操作的是 data对象并没有操作 chil...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

问题 :
代码如下,执行代码后, handler 函数会执行,输出 undefined。但是this.$set(this.data, 'checked', true); 这行代码操作的是 data对象并没有操作 children 属性。为什么会触发 handler 函数?

<script>
    export default {
        name: "watch",
        data () {
            return {
                data: { // 初始值没有 children 属性
                    title: '哈哈'
                }
            }
        },
        watch: {
            'data.children': { // 在这里监听 children 属性
                handler: function (value) {
                    console.log(value);
                },
                deep: true //深度监听
            }
        },
        mounted () {
           // 给 data 添加新的属性 checked 并赋值为 true
            this.$set(this.data, 'checked', true);
        }
    }
</script>
###

我把你贴的代码运行了一边,没有发现handler函数有执行

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • PHP-fpm怎么实现进程间同步与互斥的?

    PHP-fpm怎么实现进程间同步与互斥的?

  • ts类型问题

    ts类型问题

  • js不带引号的对象格式字符串怎么转为对

    js不带引号的对象格式字符串怎么转为对

  • Number.prototype.toFixed() 四舍五入

    Number.prototype.toFixed() 四舍五入

腾讯云代理商
海外云服务器