vue中子组件watch父组件传过来的props,毫无反应,请问是怎么回事?

  props: ['content', 'visible'],

  watch: {
    visible: {
      handler: function(val, oldval) {
        console.log('watch visible changed!')
        if(val){
          this.initDefault(this.content)
        }
      },
      deep: true,
      immediate: true
    },

    'content.id': {
      handler: function(val, oldval) {
        console.log('watch content.id changed!')
        if(val !== oldval) {
          this.initDefault(this.content)
        }
      },
      deep: true,
      immediate: true
    },
  },

无论props怎么变化,两个watch就是一句打印也没有,同样的代码在别的页面上用过,一点问题都没有,换个地方用又不行了,vue这种破问题,一点排查的办法都没有,除了闭目养神去猜,或者砸电脑,还有其它路子么?

阅读 8k
4 个回答

是不是content这个对象一开始没有id这个属性

新手上路,请多包涵

遇到同样问题 求解

父组件监听到变化了么,用setter改变的吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题