首页 新闻 会员 周边 捐助

vue.js子组件向父组件传输数据的疑问

0
[待解决问题]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="../vue1026.js"></script>
</head>
<body>
<template id = "son">
    <button @click = 'senddata'>发送数据给父组件</button>
</template>
<div id='app'>
    <son v-on:send="getdata"></son>
</div>

</body>
<script>
new Vue({
    el:'#app',
    methods:{
        getdata:function(input){
            alert(input);
        }
    },
    components:{
        'son':{
            template:'#son',
            methods:{
                senddata:function(){
                this.$emit('send','hello');
                }
            },
        }          
    }
})
</script>
</html>

我的疑问是这段代码里面获取数据为什么一定要用getdata这个方法的参数来获取,这个方法的其实就是空的呀,为什么不直接在data里面定义一个属性来接收呢

子组件发送数据是通过v-on:send来发送的,可不可以用v-bind呢?

senddata函数体里面有 this.$emit, 那#app到底自带哪些方法呢
 
玮小宝的主页 玮小宝 | 菜鸟二级 | 园豆:206
提问于:2017-08-10 16:21
< >
分享
所有回答(1)
0

也可以直接在data里面定义一个属性来接收:

data: {

  param1: ''

}

 <son v-on:send="input => param1 = input"></son>

 

v-on 和 v-bind 是不同意义的指令,互不相干

 

console.log(this) 就知道

by.Genesis | 园豆:2824 (老鸟四级) | 2017-08-10 17:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册