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

给自己做的网站换首页seo技巧与技术

给自己做的网站换首页,seo技巧与技术,跨境电商平台网站建设广州,微信公众平台一定要找网站做吗Vue 中,组件通信有很多种方式,适合不同的场景。 我给你系统地总结一版,方法 场景 简单例子,非常清晰直白!👇 📦 Vue 组件通信方式总览 通信方式适合场景简单描述props emit父子组件传值父传…

Vue 中,组件通信有很多种方式,适合不同的场景。
我给你系统地总结一版,方法 + 场景 + 简单例子,非常清晰直白!👇


📦 Vue 组件通信方式总览

通信方式适合场景简单描述
props + emit父子组件传值父传数据给子,子触发事件通知父
v-model父子双向绑定父和子同步更新数据
provide / inject祖孙组件传值父(祖先)提供数据,任意后代组件注入
eventBus(小项目)跨级、兄弟通信通过一个中央事件总线来发消息监听
Pinia(或 Vuex)大项目全局共享状态管理工具,统一管理数据
ref + defineExpose父拿到子的方法或数据父通过 ref 直接操作子组件
slots 插槽传模板内容父把结构/内容传给子

🔥 主要的用法举例


1. props + emit(父子通信)

父传子:props

<Child :msg="parentMsg" />

子组件

<script setup>
defineProps(['msg'])
</script>

子传父:emit

<Child @submit="handleSubmit" />

子组件

<script setup>
const emit = defineEmits(['submit'])function submit() {emit('submit', '子组件传给父的数据')
}
</script>

2. v-model(父子双向绑定)

父子组件同步一份数据!

父组件

<Child v-model="username" />

子组件

<script setup>
const props = defineProps(['modelValue'])
const emit = defineEmits(['update:modelValue'])function updateValue(e) {emit('update:modelValue', e.target.value)
}
</script>

3. provide / inject(祖孙通信)

祖先组件提供

<script setup>
import { provide } from 'vue'
provide('userInfo', { name: 'Tom', age: 20 })
</script>

任意子孙组件注入

<script setup>
import { inject } from 'vue'
const user = inject('userInfo')
console.log(user)
</script>

4. eventBus(适合兄弟通信,小项目用)

手动创建一个简单的事件中心:

// eventBus.js
import mitt from 'mitt'
export const eventBus = mitt()

发送事件

import { eventBus } from './eventBus'
eventBus.emit('eventName', payload)

监听事件

import { eventBus } from './eventBus'
eventBus.on('eventName', (payload) => {console.log(payload)
})

5. Pinia 状态管理(大型项目推荐)

统一管理全局数据。

import { defineStore } from 'pinia'export const useUserStore = defineStore('user', {state: () => ({username: 'Tom'}),actions: {updateName(newName) {this.username = newName}}
})

然后各个组件都可以直接使用。


6. ref + defineExpose(父拿子组件方法或数据)

子组件

<script setup>
import { ref } from 'vue'
const count = ref(0)function add() {count.value++
}defineExpose({ count, add })
</script>

父组件

<template><Child ref="childRef" /><button @click="childRef.add()">增加</button>
</template><script setup>
import { ref } from 'vue'
import Child from './Child.vue'const childRef = ref()
</script>

🎯 总结

通信场景推荐方法
父子props + emit
父子双向绑定v-model
祖孙provide / inject
兄弟eventBus
跨越整个项目Pinia
父直接操控子ref + defineExpose
内容传递slot

🚀 一句话记住

小项目:props/emit/eventBus,大项目:Pinia,全局管理;祖孙:provide/inject;复杂逻辑:ref + expose。

http://www.dtcms.com/wzjs/400777.html

相关文章:

  • php 隐藏打开网站陕西网站seo
  • 佛山购物网站建设软文广告经典案例200字
  • 什么是网络营销管理搜索引擎优化指的是什么
  • 可以接单做3d网站域名查询ip138
  • 门户网站时代品牌设计公司排名前十强
  • 宜春网站建设公司哪家好排名查询
  • 地图网站怎么做的贵阳seo网站管理
  • 网站建设及营销方案软文推广广告公司
  • 做网站哪个语言快十大小说网站排名
  • 微信网站小游戏灰色词快速上排名
  • 商务网站建设的基本流程sem 优化软件
  • 免费网站建设程序济南seo关键词优化方案
  • crm系统公司排名seo快速优化软件
  • 建设报名系统网站可靠吗搜索seo怎么优化
  • 企业网站域名注册八种营销模式
  • java和HTML做网站刚刚中国突然宣布
  • 营销型网站建设 上海郑州seo软件
  • 驻马店做网站推广baidu百度首页官网
  • 手机网站案列申请域名
  • 自己电脑做网站 外网无法访问推广方式都有哪些
  • asp做网站很少引流推广的句子
  • 网站建设的英语百度链接提交入口
  • 本地wordpress打开慢站长之家seo综合查询
  • 礼叮当 一家做创意礼品定制的网站网上推广怎么收费
  • 昆山张浦做网站济源网络推广
  • 做网站分几步国际重大新闻
  • 网站运营做的是什么工作合肥搜索引擎优化
  • 申请空间 建立网站吗成都seo达人
  • c 做商务网站方便吗网络媒体广告代理
  • wordpress添加验证码seo优化排名教程百度技术