Vue 第八章 子组件向父组件传值

1、子组件向父组件传值步骤

1、父组件定义一个方法
methods:{
          show(data){
              this.fumsg = data;
               console.log("父组件数据"+data)
          }
        }

2、子组件通过事件绑定调用父组件方法
<!--        父组件向子组件传递方法,使用事件绑定机制 v-on -->
        <com2 v-on:func="show"></com2>
        <h1>h还没有值:{{fumsg}}</h1>

---------------上面为父组件内容,下面为子组件内容----------------------

3、定义子组件触发事件,使得子组件调用父组件方法,并传值
 <input type="button" value="子组件按钮" @click="myclick">

4、子组件调用父组件方法,并传值
  myclick(){
                //当点击子组件按钮的时候,通过$emit触发
                this.$emit(‘func‘,‘123123‘)
            }

2、案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--cdn镜像快速导入Vue包-->
    <script src="https://cdn.bootcss.com/vue/2.6.11/vue.js"></script>
</head>
<body>
<div id="app">
    <div>
<!--        父组件向子组件传递方法,使用事件绑定机制 v-on -->
        <com2 v-on:func="show"></com2>
        <h1>h还没有值:{{fumsg}}</h1>
    </div>
    <template id="temp">
        <div>
            <h1>这是子组件</h1>
            <input type="button" value="子组件按钮" @click="myclick">
        </div>
    </template>

</div>
<script>
    var com2 = {
        template:‘#temp‘,
        methods: {
            myclick(){
                //当点击子组件按钮的时候,通过$emit触发
                this.$emit(‘func‘,‘123123‘)
            }
        }
    }

    //2.创建一个vue实例
    //父组件
    var vm = new Vue({
        el: ‘#app‘,
        data: {
            msg:‘这是父组件的数据‘,
            fumsg:‘‘,
        },
        methods:{
          show(data){
              this.fumsg = data;
               console.log("父组件数据"+data)
          }
        },
        components:{
            com2
        }
    })
</script>
</body>
</html>

原文地址:https://www.cnblogs.com/ywjfx/p/12556196.html

时间: 2024-11-06 03:52:26

Vue 第八章 子组件向父组件传值的相关文章

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

Vue 组件&amp;组件之间的通信 之 子组件向父组件传值

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

Vue 子组件调用父组件 $emit

<!DOCTYPE html><html>    <head>        <meta charset="utf-8">        <title>Vue 子组件调用父组件 $emit</title>    </head>    <body>        <div id="app">            <table border="2

Vue 子组件传父组件

vue中的传值是个很烦的问题,记录一下自己完成的这个需求. 首先,被引用的称之为子组件,当前页面为父组件,这个不能搞错. 子组件传值,要用到this.$emit. 子组件页面,需要在一个函数中使用this.$emit的方法来传. saves () { localStorage.setItem('note', this.note); this.h1 = localStorage.getItem('note'); console.log(this.h1) // this.conShow = true

Vue中利用$emit实现子组件向父组件通信

Vue中利用$emit实现子组件向父组件通信 父组件 <template> <div> <p>我是父组件</p> <child :isShow="show" @hidechild="hidechild"></child> <button @click="show=true">显示子组件</button> </div> </templa

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

2.Vue子组件给父组件通信

子组件给父组件通信 如果子组件想要改变数据呢?这在vue中是不允许的,因为vue只允许单向数据传递,这时候我们可以通过触发事件来通知父组件改变数据,从而达到改变子组件数据的目的 子组件: <template> <div @click='upData'></div> </template> <script type="text/javascript"> export default { data () { return { ms

Vue子组件向父组件通信,父组件向子组件通信

首先,子组件代码如下 <template> <div style="border:1px solid black;width:400px;"> <h3>我是子组件里的</h3> <button>点击按钮子组件传递父组件</button> <div>我是父组件传子组件显示的:我还没有值</div> </div> </template> <script> ex