Vue(十二)—组件通信

参考文章:https://blog.csdn.net/qq_37288477/article/details/86630428

父子通信:

1.父传子props

官网demo:https://cn.vuejs.org/v2/guide/components.html#%E9%80%9A%E8%BF%87-Prop-%E5%90%91%E5%AD%90%E7%BB%84%E4%BB%B6%E4%BC%A0%E9%80%92%E6%95%B0%E6%8D%AE

DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>title>
    head>
    <body>
        <div id="app">
            <counter name='1' count='2'>counter>

            <blog-post title="My journey with Vue">blog-post>
            <blog-post title="Blogging with Vue">blog-post>
            <blog-post title="Why Vue is so fun">blog-post>

            <blog-post v-for="post in posts" v-bind:title="post.title">blog-post>

        div>
        <script src="js/vue.js">script>
        <script src="js/main.js">script>
    body>
html>
Vue.component('counter',{
    template:</span><span><</span><span>div</span><span>></span></pre>

<p>{{username}}</p>
<pre><span><span>div</span><span>></span><span>,
    props:['name','count'],
    data:function(){
        return {
            username:this.name,
            counter:this.count
        }
    },
    methods:{
        add:function(){
            this.counter++;
            console.log(this.counter)
        }
    }
})

Vue.component('blog-post', {
  props: ['title'],
  template: '<h3>{{ title }}h3>'
})

new Vue({
    el:'#app',
    data:{
        posts: [
              { id: 1, title: 'My journey with Vue' },
              { id: 2, title: 'Blogging with Vue' },
              { id: 3, title: 'Why Vue is so fun' }
            ]
    }
})

Vue(十二)---组件通信

通过props实现父到子传递

2.子传父

官网demo: https://cn.vuejs.org/v2/api/#vm-emit

  • 参数:
  • {string} eventName
  • [...args] 触发当前实例上的事件。附加参数都会传给监听器回调。
    <h3>子父通信h3>
        <div id="app2">
            <welcome_ass v-on:welcome='say'>welcome_ass>
        div>
Vue.component('welcome_ass',{
    template:
        </span><span><</span><span>button </span><span>v-on:click</span><span>="$emit(&apos;welcome&apos;,message)"</span><span>></span><span>
            Click me to be welcomed
        </span><span><span>button</span><span>></span><span>
    
    ,
    data:function(){
        return {
            message:{a:'1',b:'2'}
        }
    }
})

new Vue({
    el:'#app2',
    methods:{
        say:function(data){
            console.log(data)
        }
    }
})

Vue(十二)---组件通信

点击子组件,父获取

兄弟组件通信:

  • 参数:
  • {string | Array<string>} event</string> (数组只在 2.2.0+ 中支持)
  • {Function} callback
  • 用法: 监听当前实例上的自定义事件。事件可以由 vm.$emit 触发。回调函数会接收所有传入事件触发函数的额外参数。

:官网https://cn.vuejs.org/v2/api/#mounted

  • 类型: Function
  • 详细: 实例被挂载后调用,这时 el 被新创建的 vm.$el 替换了。如果根实例挂载到了一个文档内的元素上,当 mounted 被调用时 vm.$el 也在文档内。
    <h3>平行组件通信h3>
        <div id="app3">
            <aaa>aaa>
            <bbb>bbb>
        div>
var Event=new Vue();
Vue.component('aaa',{
    template:
    </span><span><</span><span>div</span><span>></span>
        <span><</span><span>button </span><span>v-on:click</span><span>=&apos;on_change&apos;</span><span>></span>点击<span><span>button</span><span>></span>
    <span><span>div</span><span>></span><span>
    ,
    methods:{
        on_change:function(){
            Event.$emit("test","111")
        }
    }
})

Vue.component('bbb',{
    template:
        </span><span><</span><span>div</span><span>></span>
            <span><</span><span>input </span><span>v-model</span><span>="val"</span><span>/></span><span>{{val}}
        </span><span><span>div</span><span>></span><span>
    ,
    data:function(){
        return{
            val:1
        }
    },
    mounted:function(){
        var me=this;
        Event.$on('test',function(msg){
            me.val=msg;
        })
    }
})

new Vue({
    el:'#app3'
})

Vue(十二)---组件通信

点击a组件按钮,b组件监听到并且将数据获取

Original: https://www.cnblogs.com/crazy-lc/p/15063551.html
Author: MyBeans
Title: Vue(十二)—组件通信

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/608442/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 接口回调与方法回调

    1.1 接口回调 简介:笔者查阅了大量资料,接口回调没有定义,可以理解为是一种设计思想。其本质是将 实现接口的类通过 向上转型至 接口类型,通过传入不同的子类,实现调用相应的 子类…

    Java 2023年6月14日
    0103
  • JAVA WEB 中的编码分析

    ServletPath和PathInfo中的中文 QueryString中的中文 public void service(org.apache.coyote.Request req…

    Java 2023年6月7日
    066
  • Caused by: java.lang.NoClassDefFoundError: com/cy/store/vo/CartVo (wrong name: com/cy/store/vo/CartVO)

    出现报错:java.lang.IllegalStateException: Failed to load ApplicationContext 翻到最后一个Caused by检查检…

    Java 2023年6月5日
    073
  • Web服务器和Tomcat

    2、web服务器 2.1、技术讲解 ASP: 微软:国内最早流行的就是ASP; 在HTML中嵌入了VB的脚本, ASP + COM; 在ASP开发中,基本一个页面都有几千行的业务代…

    Java 2023年6月8日
    067
  • 部署-docker资源踩坑

    docker资源踩坑 博主在自己的电脑上,使用docker运行gitlab镜像的时候,发现docker命令失去了响应。但是根据网上的资料显示,gitlab最低配置只需要2核,4GB…

    Java 2023年6月7日
    083
  • 【每日算法】位运算之N皇后问题

    位运算技巧 x&(-x) &#x83B7;&#x53D6;&#x4E8C;&#x8FDB;&#x5236;&#x4F4D;&…

    Java 2023年6月9日
    074
  • Nginx(二)-服务模式运行nginx之WINSW

    虽然使用命令行控制ngix很简单,但是如果作为一个服务工作的话能更方便地启动、停止或者设置依赖项。 这里使用开源项目Windows Service Wrapper 来实现。 git…

    Java 2023年5月30日
    078
  • CustomTool

    数组List深拷贝: public static List deepCopy(List src) throws IOException, ClassNotFoundExceptio…

    Java 2023年6月8日
    0123
  • Eclipse搭建SSH(Struts2+Spring3+Hibernate3)框架项目教程

    Eclipse搭建SSH(Struts2+Spring3+Hibernate3)框架项目教程 出处:http://cnblogs.com/daishuguang Original:…

    Java 2023年5月29日
    072
  • mongodb 配置均衡器的运行窗口

    mongodb 均衡器 考虑到数据迁移会降低系统性能,可以配置均衡器在只在特定时间段运行,比如夜里系统负载比较小的时候。详细的配置步骤如下; 连接到任意的mongos服务器,并通过…

    Java 2023年6月6日
    080
  • Linux自动备份MySQL、删除过期备份

    背景:阿里云服务器,只有一个数据库 需求:每天凌晨备份数据库、超过7天自动删除 方法: 一、新建执行脚本(/home/dbback/bkmscm.sh) 二、授予脚本权限 chmo…

    Java 2023年6月8日
    067
  • java序列化和反序列化

    绕开transient机制的办法 虽然name被transient修饰,但是通过我们写的这两个方法依然能够使得name字段正确被序列化和反序列化writeObject和readOb…

    Java 2023年5月29日
    084
  • springframework的ReflectionUtils反射工具类功能举例

    import com.shein.dms.common.BasicCase; import com.shein.dms.utils.MathUtils; import com.sh…

    Java 2023年5月30日
    070
  • 通过OptaPlanner优化 COVID-19 疫苗接种预约安排(2)

    持续规划 连续规划是一种同时管理一个或多个未来的计划周期,并可以每月、每周、每天、每小时甚至更频繁地重复该过程的技术。规划的时间窗口按指定的时间间隔往后移动。下图显示了每天更新的两…

    Java 2023年6月16日
    095
  • day04-3服务器推送新闻

    多用户即时通讯系统04 4.编码实现03 4.7功能实现-服务器推送消息功能实现 4.7.1思路分析 服务器推送新闻,本质其实就是群发消息 在服务器启动一个独立线程,专门负责推送新…

    Java 2023年6月15日
    0101
  • spring启动component-scan类扫描加载过程(转)

    文章转自 http://www.it165.net/pro/html/201406/15205.html 有朋友最近问到了 spring 加载类的过程,尤其是基于 annotati…

    Java 2023年5月30日
    067
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球