cli3 非父子组件传值

news2024/11/25 16:30:08

这里,App.vue中,引入了parent组件;parent组件中引入了child组件。现在要从app.vue,向child组件传值。

主要文件:

 1. 通过事件总线传值

1. src ->util->bus.js

// 通过util中的bus,完成两个组件之间的数据传递
import Vue from 'vue'
export default new Vue

2. app.vue,通过bus.$emit触发事件

<!-- 非父子组件之间,通过bus进行数据传递 -->
<template>
  <div id="app">
    <m-parent></m-parent>
    <!-- 通过button,触发事件 -->
    <button @click="passMsg">go!</button>
  </div> 
</template>
 
<style>
</style> 

<script>
  import MParent from './views/Parent.vue'
  import bus from './util/bus'
  export default{
    components: {
      MParent,
    },
    methods: {
      passMsg() {
        // 需要往外传值的,写bus.$emit来触发事件
        bus.$emit('msg','from app msg')
      }
    },
  }
</script>

3. child.vue中,通过bus.$on接收数据

<template>
    <div>
        <h3>Child</h3>
        <h5>{{ childMsg }}</h5>
    </div>
</template>

<script>
    import bus from '../util/bus'
    export default {
        data() {
            // 新建一个变量
            return {
                childMsg: '',
            }
        },
        props: {
            msg: {
                type: String,
                default: 'child default'
            },
        },
        mounted () {
            // 监听到事件后,接收数据,保存到本地
            bus.$on('msg', (val)=>{this.childMsg = val}   );
        },
    }
</script>

<style>

</style>

4. 顺便把parent.vue内容也写过来吧

<template>
    <div>
        <h3>Parent</h3>
        <m-child ref="child"></m-child>
    </div>
</template>

<script>

import MChild from './Child.vue'
export default {
    data() {
        return {
            msg: ''
        }
    },
    components: {
        MChild,
    },
    mounted () {
        console.log(this.$refs.child)
    },
}

</script>

<style></style>

通过attrs传值

app.vue

<template>
  <div id="app">
    <!-- 把本地的变量,绑定到parent组件里去 -->
    <m-parent :msga="a" :msgb="b" :msgc="c"></m-parent>
  </div> 
</template>
 
<style>
</style> 

<script>
  import MParent from './views/Parent.vue'
  import bus from './util/bus'
  export default{
    data() {
      return {
        a: 'a',
        b: 'b',
        c: 'c',
      }
    },
    components: {
      MParent,
    },
    methods: {
    },
  }
</script>

parent.vue

<template>
    <div>
        <h3>Parent</h3>
        <!-- child中绑定attrs -->
        <m-child v-bind="$attrs"></m-child>
    </div>
</template>

<script>

import MChild from './Child.vue'
export default {
    data() {
        return {
            msg: ''
        }
    },
    components: {
        MChild,
    },
}

</script>

<style></style>

child.vue

<template>
    <div>
        <h3>Child</h3>
    </div>
</template>

<script>
    import bus from '../util/bus'
    export default {
        props: {
            msg: {
                type: String,
                default: 'child default'
            },
        },
        mounted () {
            // 可以在这儿获得attrs
            console.log('attrs', this.$attrs)
        },
    }
</script>

<style>

</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/627754.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你的Postman为什么连不了数据库?

postman本身没有数据库连接功能&#xff0c;所以用到了node.js中的xmysql实现Rest API的生成&#xff0c;利用postman进行请求&#xff0c;获取需要的数据&#xff0c;来做数据准备或断言 1.安装 安装node.js&#xff1a;要求版本大于等于7.6 首先保证你的环境上有node.js&a…

打工人,别着急摆烂,看看你到底值多少钱?

2023求职现状&#xff1a; HR&#xff1a;看简历&#xff0c;以为能造飞机&#xff0c;招进来以后发现螺丝都不会拧。 普通求职者&#xff1a;看公司招聘要求&#xff0c;以为这个岗位是造飞机的&#xff0c;没想到进去以后是拧螺丝的。 大龄求职者&#xff1a;以前我都是造飞…

1.平台介绍:FISCO-BCOS 区块链

&#xff08;1&#xff09;概念: FISCO BCOS是由国内企业主导研发、对外开源、安全可控的企业级金融联盟链底层平台。它以联盟链的实际需求为出发点&#xff0c;兼顾性能、安全、可运维性、易用性、可扩展性&#xff0c;支持多种SDK&#xff0c;并提供了可视化的中间件工具&am…

Python3+Selenium2完整的自动化测试实现之旅(六):Python单元测试模块Unittest运用

目录 引言 一、Unittest单元测试框架简介 二、首次使用Unittest模块 三、Unittest模块批量加载和管理用例 写在最后 引言 这篇文章讲述的是Python3Selenium2自动化测试实现之旅的第六篇&#xff0c;主要是介绍如何运用Python单元测试模块Unittest进行测试。 我个人觉得这篇…

【新版】系统架构设计师 - 数学与经济管理

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 文章目录 架构 - 数学与经济管理考点摘要最小生成树最短路径网络与最大流量线性规划动态规划预测 - 博弈论预测 - 状态转移矩阵决策 - 不确定型决策决策 - 决策树排队论数学建模数学建模 - 模型分析数学建模 - 模型…

什么是 tokens,ChatGPT里面的Tokens如何计数?

什么是 tokens&#xff0c;ChatGPT里面的Tokens如何计数&#xff1f; 什么是 tokens&#xff1f; Tokens 可以被认为是词语的片段。在 API 处理提示之前&#xff0c;输入会被分解成 tokens。这些 tokens 并不会精确地在单词的开始或结束处切分 - tokens 可以包含尾随的空格甚…

【PCIE体系结构十三】LTSSM

&#x1f449;个人主页&#xff1a;highman110 &#x1f449;作者简介&#xff1a;一名硬件工程师&#xff0c;持续学习&#xff0c;不断记录&#xff0c;保持思考&#xff0c;输出干货内容 参考书籍&#xff1a;《PCI.EXPRESS系统体系结构标准教材 Mindshare》 目录 概览…

恭喜!电影《觅渡》入围上海电影节第20届传媒单元大奖

生生不息&#xff0c;念廿不忘&#xff1b; 传媒荣誉&#xff0c;开启在即&#xff01; 第20届电影频道传媒关注单元 即将迎来20周年 一共有18部影片 入围竞逐年度传媒荣誉 6月16日晚 CCTV-6电影频道、 电影频道融媒体 将现场直播 揭晓传媒荣誉名单 电影《觅渡》入围上…

为你的项目配置日志(AOP+logback)

文章目录 1、导入依赖2、配置文件logback-spring.xml3、使用AOP做日志3.1、自定义注解3.2、自定义aop切面 4、在controller方法上添加注解5、使用Slf4j6、最终参考效果 之前看过logback的配置方法&#xff0c;今天整理spring的知识的时候&#xff0c;又看到了aop&#xff0c;想…

Linux之系统信息和性能监测

一、前言 安装完一套linux操作系统我们首先得知道系统都有哪些信息&#xff0c;比如安装内存多少、磁盘多大、什么版本、多少核CPU等等&#xff0c;因此熟悉常用的查看系统信息的指令还是很有必要的。 此文档主要对已安装的linux系统的属性有个初步的认识&#xff0c;介绍系统…

一起从根上学习Swoole

一起从根上学习Swoole Swoole&#xff0c;这个名字已经不再是一个简单的扩展库&#xff0c;而是一种让PHP开发者们心驰神往的技术。它是一个基于事件驱动的异步网络通信框架&#xff0c;能够让PHP应用程序在高并发环境下实现卓越的性能表现。现在&#xff0c;你也可以像一名高…

ROS:DWA算法解析、move_base导航包DWA源码解析

一.整体思路 1.基于速度控制运动模型 假设没有噪声&#xff0c;控制时间间隔为内机器人速度v和角速度w保持不变&#xff0c;则机器人围绕半径为r的圆周运动。 其中&#xff0c;。 根据v 和w即可预测出下一次机器人位姿&#xff08;x、y、&#xff09;&#xff0c;根据此也可以…

毕业4年,克服三次瓶颈,最终成功从字节跳动成功跳到阿里!经验分享

介绍下自己的测试历程吧&#xff0c;普通本科&#xff0c;毕业4年&#xff0c; 去年成功转型测试开发&#xff0c;总结一下测试心得。 平凡的大学生活 我大学期间属于并没有什么出众的&#xff0c;按部就班&#xff0c;老实办事的那种学生&#xff0c;我导师对我们那届的学生…

iOS 17(SwiftUI 5.0)带来的图表(Charts)新类型:“大饼”与“甜甜圈”

概览 WWDC 2023 为我们带来了 iOS 17&#xff0c;也为我们带来了 SwiftUI 5.0。 在 SwiftUI 新版中&#xff0c;Apple 增加了很多重磅功能&#xff0c;也对原有功能做了大幅度升级。 对于 Charts 框架&#xff0c; 新增了饼图&#xff08;Pie&#xff09;类型并且加入了图…

容器镜像差异分析工具 container-diff

概述 container-diff 是google出的一个容器差异比较工具&#xff0c;通过这个工具可以比较两个镜像之间存在的文件差异、RPM包差异、apt包差异、pip包差异和node包差异。 container-diff 也包括了对单个镜像分析能力&#xff0c;像文件分析啊、apt包、rpm包分析等功能。 在日常…

Python爬虫——怎么搭建和维护一个本地IP池

目录 背景 一、什么是本地代理IP池 二、代理IP池功能架构图 三、各个组件功能说明及示例代码 1. IP池管理器 2. 代理IP获取器 3. IP质量检测器 4、数据存储器 5、API接口层 6、应用程序 总结 背景 在我们进行爬虫工作时&#xff0c;经常需要使用代理IP。大多数代理…

unity2d粒子特效

文章目录 前言先看效果一、2d平台雨1. 配置2. 图片素材3. 最终效果 二、脚步灰尘效果1. 配置2. 代码调用3. 效果 三、受伤血液四溅效果1. 配置2. 效果 待续四、工程源码五、参考六、完毕 前言 我只是我抽空写了一些简单的2d粒子特效&#xff0c;后面如果接触新的不错的2d特效&a…

Maven 安装

一. 下载 apache官网下载 Maven&#xff1a;Maven – Download Apache Maven &#xff0c;根据需要下载不同压缩包。 将压缩包进行解压&#xff0c;最好放在无中文目录下解压。 二. 安装 三. 配置 1. 配置maven本地仓库 打开解压后的文件夹&#xff0c;找到conf文件夹&#…

银行vr元宇宙全景虚拟展馆提供更加真实、立体、高效的数字资产交易场景

为了贯彻国家普惠金融政策&#xff0c;使金融如无惠及广大群体,宇宙技术在金融行业中的应用将进一步提升金融消费体验感觉和金融管理水平。打造元宇宙金融服务平台&#xff0c;构建虚实结构的金融服务世界&#xff0c;培育和管理好数字机器人员工队伍&#xff0c;提升金融业务各…

postman登录鉴权之接口测试

一.背景 在做接口测试的时候&#xff0c;有些接口向后台请求数据的时候&#xff0c;是需要用户在登录情况下才有数据返回。 以电商平台为例&#xff0c;用户的个人中心&#xff0c;用户的订单列表&#xff0c;用户的支付信息等等&#xff0c;所有用户维度的数据都是需要登录态…