首页 > 其他 > 详细

组件传值-子组件通过事件调用向父组件传值

时间:2019-03-01 23:17:41      阅读:195      评论:0      收藏:0      [点我收藏+]

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="./js/vue-2.4.0.js"></script>
</head>

<body>
<div id="app">
<!-- 父组件向子组件传递方法,使用的是 事件绑定机制:v-on ,当我们自定义了一个事件属性之后,那么子组件就能够,通过某些方式,来调用传递进去的这个方法了 -->
<com2 @func="show"></com2>
</div>
<template id="tmpl">
<div>
<h1>这是子组件</h1>
<input type="button" value="这是子组件中的按钮,点击它,触发父组件传递过来的 func 方法" @click="myclick">
</div>
</template>

<script>
//定义了一个字面量类型的 组件模板对象
var com2={
template:‘#tmpl‘,//通过指定了一个ID 表示说,要去加载 这个指定ID 的template 元素中的内容,当做 组件的HTML 结构
data(){
return{
sonmsg:{name:‘小头儿子‘,age:6}
}
},
methods:{
myclick(){
//当点击子组件的按钮的时候,如何拿到父组件传递过来的 func 方法,并调用这个方法?
//emit 英文原意:触发,调用,发射的意思
//this.$emit(‘func123‘,123,456)
this.$emit(‘func‘,this.sonmsg)
}
}
}
//创建 Vue 实例,得到 ViewModel
var vm=new Vue({
el:‘#app‘,
data:{
datamsgFormSon:null
},
methods:{
show(data){
//console.log(‘调用了父组件身上的 show 方法:---‘+data)
//console.log(data):
this.datamsgFormSon=data
}
},
components:{
com2
}
})
</script>
</body>
</html>

组件传值-子组件通过事件调用向父组件传值

原文:https://www.cnblogs.com/lujieting/p/10459204.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!