vue的watch无法观测到父组件传递给他的值有无变化,只能观测到组件本身的data属性变化

<MainScene :loadMoreCount="loadMoreCount" />  // 这是父组件引用

data() { // 这是父组件的data

  return {

    loadMoreCount: 0,

  };

},

loadMore() { // 这是父组件的触发的修改事件,按理说应该会在loadMoreCount修改之后自动触发子组件的watch

    this.loadMoreCount += 1

    // console.log(this.loadMoreCount)

},

props: {  // 这是子组件的props

    position: Object,

    loadMoreCount: Number

},

watch: {

    position: {

            handler(curVal, oldVal) {

                if (this.isPc) {

                    this.onScroll(curVal);

                }

             },

            deep: true

    },

    loadMoreCount: {

        handler(curVal, oldVal) {

            console.log(curVal, oldVal);

            // this.loadMore = true;

        },

       deep: true

    }

},

结果是  position可以监听到,但是loadMoreCount监听不到。。。

最后找到了原因:子组件是可以通过watch监听父组件传递过来的props属性的,我之所以监听不到,是因为属性给错了子组件。。。

猜你喜欢

转载自blog.csdn.net/hzxOnlineOk/article/details/86505414