vuejs子组件向父组件传递数据

子组件通过$emit方法向父组件发送数据,子组件在父组件的模板中,通过自定义事件接收到数据,并通过自定义函数操作数据

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript" src="vue.js"></script>
</head>
<body>
    <!-- 子组件向父组件传递数据 -->
    <div id="box">
        <v-parent></v-parent>
    </div>

    <!-- 父组件模板 -->
    <template id="parent">
        <div>
            <span>{{msgParent}}</span>
            <v-child @child-info="get"></v-child>
        </div>
    </template>

    <!-- 子组件模板 -->
    <template id="child">
        <div>
            <button @click="send">send</button>
            <!-- <p>{{msgChild}}</p> -->
        </div>
    </template>
    <script type="text/javascript">
        var app = new Vue({
            el:‘#box‘,
            components:{
                // 父组件
                ‘v-parent‘:{
                    data() {
                        return {
                            msgParent:‘hello‘
                        }
                    },
                    template:‘#parent‘,
                    methods:{
                        get(msg){
                            this.msgParent = msg
                        }
                    },
                    // 子组件
                    components:{
                        ‘v-child‘:{
                            data(){
                                return {
                                    msgChild:‘child‘
                                }
                            },
                            template:‘#child‘,
                            methods:{
                                send(){
                                    this.$emit(‘child-info‘,this.msgChild)
                                }
                            }
                        }
                    }
                }
            }
        })
    </script>
</body>
</html>

此时点击子组件模板中的按钮,父模板中的子组件会接受到数据

时间: 2024-09-28 22:15:41

vuejs子组件向父组件传递数据的相关文章

Vue子页面给父页面传递数据

子页面: <template> <div> <p>子组件</p> <button @click="sendMsg">传递到父页面</button> </div></template> <script> export default { name: 'child', data() { return { msg:'子组件数据' } }, computed:{ addNum(){ re

子窗口向父窗口传递数据

父窗口: 子窗口: 点击"Form1"对话框上的"Form2"按钮后弹出"Form2"对话框,在输入框中输入"1111111",关闭对话框"Form2"时将值赋给"Form1"上的输入框中. 实现代码如下: public partial class Form1 : Form { public void SetValue(string sStr) { textBoxX1.Text = sS

vue组件-子组件向父组件传递数据-自定义事件

自定义事件 我们知道,父组件是使用 props 传递数据给子组件,但如果子组件要把数据传递回去,应该怎样做?那就是自定义事件!

Vue父组件向子组件传递方法(自定义方法)并且子组件向父组件传递数据

<!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" con

vue2.0子组件修改父组件props数据的值

从vue1.0升级至2.0之后 prop的.sync被去除 因此直接在子组件修改父组件的值是会报错的如下: 目的是为了阻止子组件影响父组件的数据那么在vue2.0之后 如何在子组件修改父组件props传过来的值呢?思路是通过子组件$emit发射一个方法  如下: this.$emit('imgDataCallback', callbackUrl); 在父组件使用子组件的地方用v-on绑定这个自定义事件 如下: 然后在父组件定义这个方法 //获取imgurl        getImgData:

vue系列(一)子组件和父组件

父组件传递数据到子组件props 父组件 <template> <div class="main"> <div class="top"> <span :class="{action:ind===index}" v-for="(item,index) in lanMenu" v-on:click="clickMenu(index,item.con)">{{ite

【转】Vue组件一-父组件传值给子组件

Vue组件一-父组件传值给子组件 开始 Vue组件是学习Vue框架最比较难的部分,而这部分难点我认为可以分为三个部分学习,即 组件的传值 - 父组件向子组件中传值 事件回馈 - 子组件向父组件发送消息,父组件监听消息 分发内容 整个博客使用的源代码-请点击 所以将用三篇博客分别进行介绍以上三种情况和使用 Vue的设计者对组件的理解 Vue的设计者,对组件和父组件之间的关系流上做了阐述,即单向数据流图:父组件向子组件传递数据,子组件回馈事件 组件意味着协同工作,通常父子组件会是这样的关系:组件 A

子组件向父组件传递信息

---恢复内容开始--- 子组件向父组件传递信息:https://blog.csdn.net/qq_40352733/article/details/79547896 方式一: 父on()绑定,子on()绑定,子emit()向父发送信息 在父组件点击,值是有子组件传递过来的值 方式二: dispatch()子组件向上派发事件,dispatch()子组件向上派发事件,broadcast():从外往里派发事件 大纲介绍:https://blog.csdn.net/qq_16559905/articl

Vue_(组件通讯)子组件向父组件传值

Vue组件 传送门 子组件向父组件传值:子组件通过$.emit()方法以事件形式向父组件发送消息传值: 使用步骤: 1.定义组件:现有自定义组件com-a.com-b,com-a是com-b的父组件: 2.准备获取数据:父组件com-a要获取子组件data中的height属性: 3.在子组件com-b中,需要用$.emit()方法将数据以事件的形式发送,$.emit('sendData', data, data…),红色的部分事件名可自定义,数据可传递多个: 4.在父组件中使用子组件的地方 <c