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/714389/

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

(0)

大家都在看

  • Golang中常用的代码优化点

    Golang中常用的代码优化点 大家好,我是轩脉刃。 这篇想和大家聊一聊golang的常用代码写法。在golang中,如果大家不断在一线写代码,一定多多少少会有一些些代码的套路和经…

    技术杂谈 2023年6月1日
    0102
  • 编译原理实验LL1分析

    // &#x4E0B;&#x9762;&#x662F;&#x5B9E;&#x9A8C;&#x4E09;&#x7684;&am…

    技术杂谈 2023年7月23日
    084
  • Teams 开发平台月报(2021-03)

    摘要 这个月的Teams 开发平台月报如期而至,这个月报会在每月中旬左右根据官方文档整理发布,并适当加上一些我的观察和见解,给大中华地区的合作伙伴或开发者朋友们参考。 本月到目前未…

    技术杂谈 2023年5月31日
    0121
  • 本地宿主机器显示Docker 容器中的图像(Docker容器可视化)

    我们在Docker容器中运行程序,有的时候需要显示容器中的图像,或在容器中运行一些图形界面的软件、调用摄像头等,而Docker采用的是命令行的工作模式,那么docker容器中的输出…

    技术杂谈 2023年7月11日
    098
  • 3.一元线性回归

    线性回归分析(Linear Regression Analysis)是确定两种或两种以上 变量间相互依赖的定量关系的一种 统计分析方法。对于一元线性回归而言,其模型主要假设为: […

    技术杂谈 2023年7月10日
    051
  • SSM实战(54)在线教育(54)后端(24)课程管理(9)章节添加/修改/删除

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/qiu-hua/p/16514317.htmlAutho…

    技术杂谈 2023年6月1日
    0116
  • UnixBench算分介绍【转】

    关于如何用UnixBench,介绍文章很多,这里就不展开了。这里重点描述下它是如何算分的。 碰到很多客户,装好后,直接./Run,就把结果跑出来了,然后还只取最后一个分值,比谁高谁…

    技术杂谈 2023年5月31日
    0115
  • tldr

    tldr man 查手册效率工具 posted @2022-07-30 17:40 papering 阅读(8 ) 评论() 编辑 Original: https://www.cn…

    技术杂谈 2023年5月31日
    0112
  • oracle查看版本

    查看oracle版本可以通过查询三个内置表来达到目的。 1.v$instance表,这个表可以查看实例和版本信息。 2.product_component_version表。 3….

    技术杂谈 2023年6月1日
    095
  • 离职交接,心态要好

    话说今年经历了几次项目交接?主动和被动的都算! 实在是没想到,都到年底快收尾的时候,还要突然接手离职人员的项目; 不断拉扯和管理内心情绪,避免原地裂开; 年度中再次经历突发的交接事…

    技术杂谈 2023年7月23日
    074
  • 分享最近做的一个中文 wordle 的游戏《词影》

    一款将象形汉字同 Wordle 猜测结合起来的猜成语小游戏 ——《词影》 目前还在内测中,欢迎大家试玩,还望各位拍砖 Orz 游戏关键词 类 wordle 象形文字 每天十局 体验…

    技术杂谈 2023年6月1日
    0110
  • Hadoop(二)Hdfs基本操作

    HDFS HDFS由大量服务器组成存储集群,将数据进行分片与副本,实现高容错。 而分片最小的单位就是块。默认块的大小是64M。 HDFS Cli操作 官网https://hadoo…

    技术杂谈 2023年7月24日
    076
  • npm安装教程

    npm安装教程; 一、使用之前,我们先来掌握3个东西是用来干什么的。 npm: Nodejs下的包管理器。 webpack: 它主要的用途是通过CommonJS的语法把所有浏览器端…

    技术杂谈 2023年5月30日
    0103
  • PWA全称Progressive Web App,即渐进式WEB应用?

    一个 PWA 应用首先是一个网页, 可以通过 Web 技术编写出一个网页应用. 随后添加上 App Manifest 和 Service Worker 来实现 PWA 的安装和离线…

    技术杂谈 2023年5月31日
    096
  • PowerBI发布到网页

    如果网页当中需要嵌入PowerBI的报表,可以在PowerBI当中生成链接,然后网页或者博客当中插入这一段html代码。 以下是PowerBI生产网页链接的示例,并且在博客的最后也…

    技术杂谈 2023年5月31日
    0172
  • 比CMD更强大的命令行WMIC

    先决条件:a. 启动Windows Management Instrumentation服务,开放TCP135端口。b. 本地安全策略的”网络访问: 本地帐户的共享和安…

    技术杂谈 2023年6月1日
    092
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球