逻辑:
1.创建一个变量sonCompoent
2.在根实例中声明变量sonCompoent是一个子组件
3.根实例进行挂载id为app的节点上
4.创建一个app的div节点
5.给sonCompoent中data一个值用于传送给父组件
6.在子组件中加一个template中加一个按钮并进行按钮绑定 方便触发方法,然后把数据传送给父组件即可
7.方法中用$emit("监测的名字",需要传送的数据)
8.在html的子组件调用中去监测一下上面监测名字的值,然后 根据值得变化传送到父亲的给方法中
----------------------------------------------------------------------------------
完整代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript" src="vue.js" charset="utf-8"></script>
</head>
<body>
<div id="app" >
<!-- 用于监测tk的变化,ecplet用来进行接受和处理 -->
<child-son @tk="ecplet"></child-son>
</div>
<script type="text/javascript">
<!-- 创建一个子组件,并且给这个组件一个初始值用来接下来传送到父组件上 -->
var childSon = {
data(){
return{
/*需要传送的值*/
childata:'this is a childdata',
}
},
/*创建这个按钮方便点击的时候触发,把数据返回*/
template:'<button @click="sonclick">提交</button>',
methods:{
sonclick:function(){
/*$emit把值进行返回*/
return this.$emit('tk',this.childata)
}
}
}
new Vue({
el:'#app',
components:{
childSon
},
methods:{
/*用于接收 和处理*/
ecplet:function(c){
console.log(c)
}
}
})
</script>
</body>
</html>
效果