子组件挂载的时候,props传值,数据挂载命名:用驼峰命名法命名,在子组件在methods里才可以通过this.xx获取。
注意命名要规范。
父组件通过props传值给子组件,子组件在methods里要拿到父组件传递过来的数据有2种情况:
第一种:父组件传递的参数是固定的,data里面定义的参数,这时候在子组件通过this.xxx就可以获取到,但是要注意命名方式,如下:
父组件里:子组件在父组件挂载时绑定数据,注意前面要以“-”连接,后面要以驼峰规则命名
,data里面的数据命名
子组件获取的时候:通过props接收
这样,在methods里就能通过this.userName获取到父组件的数据。
第二种情况:父组件传递的参数是动态改变的,这种在子组件里按照上面的方式是获取不到动态改变后的数据的。这种情况下也有2种解决方法(也许还有其他方法)
1、用v-if 定义一个flag,初始为false,在动态改变了username的时候flag设置为true,
父组件:
子组件:
通过this.username就可以拿到动态改变后的数据
2、在子组件用watch监听数据的变化。
watch: { username: function(newVal,oldVal){ console.log(newVal,oldVal) } },
---------------------
原文:https://blog.csdn.net/weixin_40216826/article/details/80733160