求助:无法在子组件中使用watch监听拿到props的传值

<script>

export default {
  props: {
     testNum: { type: Number, default: 0 }
  },

  data() {
    return {};
  },

  watch: {
    testNum(newVal, oldVal) {
      console.log(newVal, oldVal);
    }
  }

};

</script>

如上代码所示,无法获取到testNum的变化,即使用了 immediate:true,deep: true,也没有用甚至控制台报错,请问该怎么处理

传的值必须是数字,后台报错会有提示,看下原因

传的值是对的,后台没任何报错
我另外加了个按钮 执行
console.log(this.testNum);
点击这个按钮是能正确在控制台显示出来的

传的值改变时才能监听到,可以在mounted周期函数里获取到这个值,这个值在子组件里已经拿到了

mounted是获取不到的,正因为获取不到才用watch去获取

看一下你父组件的代码

<template>
  <div>
    <test_sub :testNum="10"></test_sub>
  </div>
</template>

<script>
import test_sub from '@/views/TestSub'

export default {
    components:{
      test_sub
    },

    data(){

        return{

        }

    },
};
</script>

我试过了 可以的 你肯定是哪里写错了

我还是不行,贴了代码,麻烦看下是什么问题:joy:

兄弟麻烦看下,之前代码没显示出来

传的体彩七星彩值改变时才能监听到,广东快乐十分可以在mounted周期函数里获取到这个值,江苏快3这个值在子组件里已经拿到了。

你在父组件绑定的是死值,初始值就是10,这个值一直没变,所以不会触发。加上immediate:true肯定会触发的

调用子组件时是不是应该这样写呀
<test_sub :test-num="10"></test_sub>