六、Vue基础之六


一、兄弟组件传参和Bus

有两个组件A,B和父组件P,A想传参到B必须先传到父组件P中,再通过父组件P传给B。
上面这种方式麻烦。

Bus:发布订阅模式

二、Mitt

vue3中 o n , on, on,off和$once实例方法已被移除,组件实例不再实现事件触发接口,因此大家熟悉的EventBus便无法使用了,我们可以使用Mitt库,其实就是发布订阅模式的设计。

安装

npm install mitt -S

在Main.ts中引入mitt

import {
    createApp } from 'vue'
import App from './App.vue'
import mitt from 'mitt'

const Mit = mitt()

const app = createApp(App)

// 让在TS中有提示
declare module 'vue' {
   
    export interface ComponentCustomProperties {
   
        $Bus: typeof Mit
    }
}

app.config.globalProperties.$Bus = Mit

app.mount('#app')

在A组件中发布事件

<template>
    <h2>A组件</h2>
    <button @click="emit">emit</button>
</template>

<script setup lang='ts'>
import {
      getCurrentInstance } from 'vue'

const instance = getCurrentInstance()
// 发布事件
const emit = () => {
     
    instance?.proxy?.$Bus.emit('on-click1', 'mitt1')
    instance?.proxy?.$Bus.emit('on-click2', 'mitt2')
}

</script>

<style lang='scss' scoped>

</style>

在B组件订阅发布的事件

<template>
    <h2>B组件</h2>
    {
   {
   str}}
</template>

<script setup lang='ts'>
import {
    ref, getCurrentInstance } from 'vue';
const instance = getCurrentInstance()
let str = ref('')

// 订阅事件
/*
instance?.proxy?.$Bus.on('on-click1', (strA)=>{
    console.log(strA, 'B组件')
    str.value = strA as string
})
*/

// type函数,str发布事件携带的数据
/*
instance?.proxy?.$Bus.on('*', (type, str) => {
    console.log(type, str, 'B组件')
})
*/

const Bus = (str: any) => {
   
    console.log(str, 'B组件')
}
instance?.proxy?.$Bus.on('on-click1', Bus
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue基础Web项目模板下载非常简单,可以按照以下步骤进行: 第一步,打开浏览器,访问Vue官方网站(https://cn.vuejs.org/)。 第二步,点击页面上方的“文档”按钮,进入Vue的文档页面。 第三步,在文档页面的左侧导航栏中,找到“起步 - 快速原型”这一部分。 第四步,在“起步 - 快速原型”部分中,你可以看到一个“下载vue-cli”按钮,点击它。 第五步,你将被带到Vue CLI的GitHub页面,这是Vue的一个脚手架工具,用于快速搭建Vue项目。 第步,滚动页面,找到一个名为“vue-cli 3.x”的链接,点击它。 第七步,你将跳转到Vue CLI 3.x的npm页面,其中包含有关Vue CLI的详细信息和用法。 第八步,翻滚页面,你可以看到一个类似于“npm install -g @vue/cli”的命令,这是用于全局安装Vue CLI的命令。 第九步,打开终端,输入上述命令并执行,等待安装完成。 第十步,安装完成后,在终端中输入“vue create 项目名称”,其中“项目名称”是你想要创建的项目的名称。 第十一步,按照终端中的提示,选择需要的特性、配置和插件,然后等待项目创建完成。 第十二步,项目创建完成后,你就可以在本地磁盘中找到你的项目文件夹,里面包含了一个基础Vue Web项目模板。 总结起来,下载Vue基础Web项目模板只需要通过Vue CLI工具进行项目的创建和初始化,然后你就可以在本地磁盘中找到你的项目文件夹了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永恒的宁静

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值