zoukankan      html  css  js  c++  java
  • 组件传值-子组件通过事件调用向父组件传值


    <!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>
  • 相关阅读:
    SqlServer执行Insert命令同时判断目标表中是否存在目标数据
    javascript避免dom事件重复触发
    磁盘结构损坏且无法读取
    iframe在iphone中滚动条无效
    Rancher2.x流水线自动化部署
    微服务模块化需要的几个基础功能
    后端程序员的Vue笔记(一)
    自信从何而来
    C#异步案例一则
    Blazor入坑指南
  • 原文地址:https://www.cnblogs.com/lujieting/p/10459204.html
Copyright © 2011-2022 走看看