父组件
【props组件通信的方式】
传递非函数数据:比如静态、动态数据。通过属性的方式进行传递
传递函数数据:
1、传递非函数数据:本质就是父组件给子组件传数据
2、传递函数数据:本质是父组件想要子组件的数据,通过函数调用传参的方式把数据传递给父组件,缺点是只能亲父子组件传数据,
要跨组件的话,只能一级一级跨
----------------------------------------------------------------------------------------------------------------------------
【单向数据流】:子组件不能对父组件传过来的数据进行修改
说明:所有的prop都使得其父子prop之间形成了一个单向下行绑定:父级prop的更新会下流到子组件中,但是反过来则不行。这样会
防止从子组件以外改变父级组件的状态,从而导致应用的数据流向难以理解
【自定义事件】:父组件通过props传递给子组件的数据,父组件不能修改,但是可以通过自定义事件,由子组件通知父组件,让父组件自行修改
那么如何通过子组件改父组件的数据?如下
1、子组件通过函数向父组件请求一下,即this.$emit('changeMsg')。 changeMsg是自己定义的
2、父组件接收请求,即@changeMsg="changeMsg1",把修改之后的东西放在changeMsg1函数里面
3、父组件在changeMsg1函数里面对自己的数据进行修改,比如this.msg1='xxx',即该msg1的数据,改为xxx
4、如果子组件想要自己设定修改后的数据,就需要传参数给父组件,然后父组件直接把这个参数赋值到要修改的数据里面