当前位置: 首页 > wzjs >正文

电子商务网站的规划与分析色盲测试图 考驾照

电子商务网站的规划与分析,色盲测试图 考驾照,免费的英文电子外贸网站建设,外贸soho怎么做网站🌈Vue3 跨组件通信完整方案对比总结 👉 收藏 点赞 关注,一文搞定组件通信! 一、前言 在 Vue3 中,组件间通信有多种技术方案。每种方案适用于不同场景,没有绝对优劣,合理选型最重要。 二、通信…

🌈Vue3 跨组件通信完整方案对比总结

👉 收藏 + 点赞 + 关注,一文搞定组件通信!


一、前言

在 Vue3 中,组件间通信有多种技术方案。每种方案适用于不同场景,没有绝对优劣,合理选型最重要。


二、通信方案全景图

通信方式适用场景优点缺点
props / emit父子组件通信简单、官方推荐、类型安全只能父子使用,嵌套层级深时繁琐
provide / inject跨层级祖孙组件跨多层组件方便松散耦合,不适合频繁数据变更
ref / expose父组件操作子组件方法直观易用只能父对子使用
mitt(事件总线)任意组件跨层简单快速、轻量需手动解绑,易混乱
状态管理(Pinia、Vuex)全局状态管理规范、集中、易维护引入成本较高
URL Params路由级通信深度路由传参仅适用于路由通信

三、每个方案详细讲解

1️⃣ props / emit(父子通信)

适用

  • 父传子(props)
  • 子传父(emit)

示例

<!-- 父组件 -->
<Child :msg="parentMsg" @updateMsg="handleUpdate" />
<!-- 子组件 -->
<template>{{ msg }}</template>
<script setup>
const props = defineProps<{ msg: string }>();
const emit = defineEmits<['updateMsg']>;
emit('updateMsg', '新值');
</script>

优缺点

  • ✅ 官方标准
  • ✅ TS 友好
  • ❌ 只能父子通信

2️⃣ provide / inject(祖孙通信)

适用

  • 深层嵌套组件
  • 全局注入轻量数据

示例

<!-- 祖先组件 -->
provide('username', '张三');
<!-- 任意子孙组件 -->
const username = inject('username');

优缺点

  • ✅ 解耦
  • ❌ 数据响应性弱,需手动 ref
provide('username', ref('张三'));
const username = inject('username') as Ref<string>;

3️⃣ ref / expose(父操作子)

适用

  • 父组件调用子组件方法、属性

示例

<!-- 子组件 -->
<script setup>
function openModal() { /* ... */ }
defineExpose({ openModal });
</script>
<!-- 父组件 -->
<Child ref="childRef" />
childRef.value?.openModal();

优缺点

  • ✅ 操作方便
  • ❌ 只能父对子,适用面小

4️⃣ mitt(事件总线)

适用

  • 跨任意组件
  • 轻量快速

封装示例

import mitt from 'mitt';
export const eventBus = mitt();

使用示例

eventBus.emit('login', user);
eventBus.on('login', (user) => { ... });

优缺点

  • ✅ 极轻量
  • ✅ 不限层级
  • ❌ 手动解绑,长期使用需规范管理

5️⃣ 状态管理(推荐 Pinia)

适用

  • 全局状态
  • 复杂业务逻辑

示例

// store/user.ts
import { defineStore } from 'pinia';
export const useUserStore = defineStore('user', {state: () => ({ username: '张三' }),
});
const store = useUserStore();
store.username = '李四';

优缺点

  • ✅ 全局统一管理
  • ✅ TS 完美支持
  • ❌ 初学者学习成本稍高

6️⃣ URL Params(路由通信)

适用

  • 页面跳转传参

示例

router.push({ name: 'detail', query: { id: 123 } });
const route = useRoute();
console.log(route.query.id);

优缺点

  • ✅ 路由通信标准方案
  • ❌ 仅适合路由传参

四、快速选型建议表

场景推荐方案
简单父子组件传值props / emit
深层嵌套祖孙组件传值provide / inject
父调用子组件内部方法ref / expose
任意组件快速通信mitt
项目级全局状态管理Pinia
路由跳转时传参URL Params

五、最终建议

  • 👉 小项目props / emit + provide/inject + mitt
  • 👉 中大型项目强烈建议引入 Pinia 状态管理
http://www.dtcms.com/wzjs/261735.html

相关文章:

  • 济南集团网站建设报价站长工具友链检测
  • 做网站的公司哪里好百度收录规则2022
  • 上海网站建设 微信开发公司大数据精准营销的策略
  • vi设计公司平台哪个好整站seo
  • html怎么做网站十大网络推广公司
  • 哈尔滨建设部网站如何推广公司网站
  • php开发网站建设百度推广的四种收费形式
  • 装饰设计公司名字seo职业培训学校
  • 新媒体做图网站google开户
  • 做网站建设给人销售大数据网站
  • 阿里云腾讯云网站建设电子商务主要学什么内容
  • wordpress速度主题单页网站seo优化
  • 汽车配件销售网站开发论文百度网站名称和网址
  • 网站后来功能网络营销推广8种方法
  • 建设网站需要哪些材料百度官网下载电脑版
  • 深圳做网站个人今天的重要新闻
  • 做网站美工收费西安霸屏推广
  • 聊城门户网站青岛网站建设公司电话
  • wordpress 文章文件夹seo图片优化的方法
  • wordpress调用菜单函数福州seo快速排名软件
  • 宝宝投票网站怎么做的郑州网站网页设计
  • 腾讯云做视频网站吗色盲测试图片
  • wordpress不在根目录郑州百度推广seo
  • 兴义做网站谷歌chrome官网
  • 网站开发培训费百度站长号购买
  • 美的网站建设规划书营销推广软文
  • 学做网站论坛vip账号破解网站seo系统
  • 大型网站开发java精准获客
  • 工业品一站式采购平台全网营销
  • 洛阳网络建站百度网站收录入口