此处对firstname监听有效,如果firstname下还有其他数据的监听(如first.wordOne),就会失效?

来源:2-5 Vue中的计算属性和侦听器

黄邦沛

2018-10-05 17:32

试了一下无法触发监听属性,只能监听最上层数据的动作?

data:{
    msg:{
        msg1:'this is msg1',
        msg2:'this is msg2',
        count:0
    },
    child1:'111'
}

比如此处child1是可以监听的,为啥msg.msg1就不行?

还是我写得不对?

写回答 关注

3回答

  • 慕移动9181930
    2022-03-29 06:49:21
  • qq_慕仰8158053
    2018-11-09 15:17:11

    https://img.mukewang.com/5be5340b000113dd08950814.jpg

    我感觉是你的count的位置不对,或者是你监听的名字不对,我试了一下我这样可以运行

    风帆0

    watch中的msg改为msg2,这样对不

    2018-11-30 22:02:58

    共 2 条回复 >

  • kaler_chen
    2018-10-06 21:03:58

    可以通过监听计算属性来代替直接监听,比如像下面这样,通过监听msgMsg1来间接达到效果

    computed : {
        msgMsg1 : function () {
            return this.msg.msg1;
        }
    },
    watch : {
        msgMsg1 : function () {
            this.msgCount++;
        }
    }


vue2.5入门

快速理解Vue编程理念上手Vue2.0开发。

146825 学习 · 657 问题

查看课程

相似问题