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)

大家都在看

  • effective java

    注:本文转载于http://www.cnblogs.com/xing901022/p/5854506.html,感谢xingoo! 通过函数作为策略有两个要注意的地方: 使用接口作…

    Java 2023年5月29日
    069
  • GTID主从配置后的主库数据迁移到从库操作

    在不停止主库、主库不锁库的情况下进行数据库主从复制,主库的数据导入给从库,并且从库开启同步功能。 windows环境下mysql线上数据库需要做主从备份,线上的数据库已经开启bin…

    Java 2023年6月8日
    090
  • SpringBoot框架快速入门教程,初识springboot

    SpringBoot作为当下Java开发最常用的技术框架,相信你也一定听过很多次了。 那么到底什么是SpringBoot?SpringBoot又有什么用呢?跟着动力节点的视频带你快…

    Java 2023年6月9日
    077
  • MybatisPlus自动填充公共字段的策略

    背景:数据库中多个表有时间字段,并且字段名一致 需求:该时间字段由MybatisPlus自动插入和更新,业务代码无需处理 方法: 一、创建基础实体【BaseEntity】,定义需要…

    Java 2023年6月8日
    090
  • Docker安装InfluxDB

    时序型数据库 时序数据库就是存放事件序列数据的数据库,需要支持时序数据的快速写入、持久化、多维度的聚合查询等基本功能。 时间序列数据 时间序列数据是基于时间的一系列数据。在有时间的…

    Java 2023年6月7日
    096
  • Redis分布式锁实现

    Redis分布式锁实现 在分布式环境下,利用Redis实现锁机制,避免资源竞争的做法非常常见。这里探讨一下Redis分布式锁的实现方式、可能存在的问题以及适用场景。 setnx 最…

    Java 2023年6月13日
    0101
  • 1111111111111111111111关于学习crm项目中的问题总结,也是自己遇到的一些错误的记录 2022/7/6

    bug thymeleaf 共享域对象 如果需要将对象的数据显示到前台页面我们可以通过使用thymeleaf实现这一点,Thymeleaf是一个动态渲染页面用的,他简单易懂,不像j…

    Java 2023年6月8日
    083
  • Java开发小游戏——扫雷

    代码如下: package com.game.saolei; import javax.swing.*; import java.awt.*; import java.awt.ev…

    Java 2023年6月8日
    099
  • Reactor模型

    要无障碍阅读本文,需要对NIO有一个大概的了解,起码要可以写一个NIO的Hello World。 说到NIO、Netty,Reactor模型一定是绕不开的,因为这种模式架构太经典了…

    Java 2023年6月5日
    087
  • Redisson报错

    org.redisson.client.RedisResponseTimeoutException: Redis server response timeout (3000 ms)…

    Java 2023年6月6日
    093
  • PgSQL-||-连字符

    (PgSQL)连字符 || — 22.22& select 22.22||’%’ as 值; Original: https://www.cnblogs.com/a999…

    Java 2023年6月9日
    094
  • 我也是醉了,Eureka 延迟注册还有这个坑!

    Eureka 有个延迟注册的功能,也就是在服务启动成功之后不立刻注册到 Eureka Server,而是延迟一段时间再去注册,这样做的主要目的是因为虽然服务启动成功了,可能还有一些…

    Java 2023年6月13日
    093
  • ( 十 )、SpringBoot整合微信小程序登录

    yml: wx返回的用户信息: WeChatUtil工具: 登录controller: 全局返回结果: 微信小程序 4.1 初始配置 初始配置 4.2 me.wxml class=…

    Java 2023年5月29日
    0117
  • 全面理解Java内存模型

    Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是…

    Java 2023年5月29日
    066
  • 微服务SpringCloud之GateWay熔断、限流、重试

    纯洁的微笑的Spring Cloud系列博客终于学完了,也对Spring Cloud有了初步的了解。 修改请求路径的过滤器 StripPrefix Filter 是一个请求路径截取…

    Java 2023年5月30日
    0104
  • Java通过继承外部类来建立该外部类的protected内部类的实例(转)

    原文链接:http://blog.sina.com.cn/s/blog_7de00ff60102xffx.html 如果想要在外部类的导出类(子类)中建立该外部类的为protect…

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