**Vue之子组件向父组件传递数据**
1.首先我们贴出源代码,再对每一行代码进行分析
1.1这是HTML部分代码
1.2这是Js代码
2.代码分析
2.1JS代码分析:
18-39行:这是一个全局组件{
1.组件名:child;
2.模板:
这个模板是在界面上显示2个点击事件的按钮,事件名称分别是Increase与Reduce,这个模板的语法写法是ES6。
3.两个事件都是对数据的操作,而数据就是:
我们来看,在组件中,数据的书写方式跟Vue实例不用,这里的data必须是函数,然后将数据return出来,不了解的小伙伴可以线搜索这方面的知识。
4.有了数据以后,就是对数据进行操作,操作的实现就是靠事件,下面就是实现操作的两个事件:
这个方法跟实例的方法是很像的,唯一不同的就是emit()这个方法,这是一个用于将子组件向父组件传递数据的方法,我的理解就是将子组件方法Increase重命名为increase(注意大小写,当然你可以把increase改为任何的字符),然后increase伸出它的手跟实例的Total方法握手,而emit()这个方法,这是一个用于将子组件向父组件传递数据的方法,我的理解就是将子组件方法Increase重命名为increase(注意大小写,当然你可以把increase改为任何的字符),然后increase伸出它的手跟实例的Total方法握手,而emit()这个方法,这是一个用于将子组件向父组件传递数据的方法,我的理解就是将子组件方法Increase重命名为increase(注意大小写,当然你可以把increase改为任何的字符),然后increase伸出它的手跟实例的Total方法握手,而emit()方法就是让increase伸手。
6.然后子组件将数据传递出去,然后父组件的Total接收
7.不难看出,子组件是对数据操作以后,通过传递数据的值通过参数的方式传递到Total方法中,然后Total方法调用数据,给父组件的total赋值,然后显示在html中显示出来