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

手机主题制作网站企业网站尺寸

手机主题制作网站,企业网站尺寸,上海外贸网站推广,自适应的网站模板在 Vue3 中,provide 和 inject 用于实现跨层级组件通信。以下是一个简单的示例: 1. 父组件 (祖先组件) - 提供数据 javascript 复制 // ParentComponent.vue import { provide, ref, reactive } from vue;export default {setup() {// 提供静态数据p…

在 Vue3 中,provide 和 inject 用于实现跨层级组件通信。以下是一个简单的示例:

1. 父组件 (祖先组件) - 提供数据

javascript

复制

// ParentComponent.vue
import { provide, ref, reactive } from 'vue';export default {setup() {// 提供静态数据provide('message', 'Hello from Parent!');// 提供响应式数据const count = ref(0);provide('count', count);// 提供对象和方法const user = reactive({name: 'Alice',age: 25});const updateUser = () => {user.age++;};provide('userData', {user,updateUser});return { count };}
};

2. 子组件 (后代组件) - 注入数据

javascript

复制

// ChildComponent.vue
import { inject } from 'vue';export default {setup() {// 注入基本类型(带默认值)const message = inject('message', 'Default message');// 注入响应式数据const count = inject('count');// 注入对象和方法const { user, updateUser } = inject('userData');// 修改响应式数据const increment = () => {count.value++;};return {message,count,user,updateUser,increment};}
};

3. 模板使用示例

html

复制

<!-- ChildComponent.vue 模板部分 -->
<template><div><h3>Child Component</h3><p>Message: {{ message }}</p><p>Count: {{ count }}</p><p>User: {{ user.name }} ({{ user.age }})</p><button @click="increment">Increment Count</button><button @click="updateUser">Update User Age</button></div>
</template>

运行 HTML

关键点说明:

  1. 响应式数据:使用 ref/reactive 创建响应式数据,注入后依然保持响应性

  2. 默认值inject('key', defaultValue) 第二个参数为默认值

  3. 类型支持:可以注入任意类型(基本类型、对象、函数等)

  4. 代码组织:推荐使用 Symbol 作为 key 避免命名冲突(适用于大型项目)

符号键示例(可选)

javascript

复制

// keys.js
export const MESSAGE_KEY = Symbol('message');
export const COUNT_KEY = Symbol('count');// 父组件
import { MESSAGE_KEY, COUNT_KEY } from './keys';
provide(MESSAGE_KEY, 'Hello World');// 子组件
const message = inject(MESSAGE_KEY);

这个模式特别适合以下场景:

  • 主题/样式配置

  • 全局状态管理(简单场景)

  • 多层嵌套组件通信

  • 共享工具函数/实例

注意:对于复杂应用,建议使用 Pinia 进行状态管理,但对于简单的组件层级通信,provide/inject 更加轻量。

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

相关文章:

  • 自贡企业网站建设生活中的网络营销有哪些
  • 网上如何建网站卖量具乐客vr加盟费用要多少
  • wordpress 建站案例微网站模板前后台
  • 怎么给网站图片加alt在英特尔上建设网站可选择的方案有
  • wordpress获取浏览人信息上海seo公司排名榜
  • 网站建设必要步骤网站建设功能图
  • 如何建立自己网站教程免费域名申请哪个网站好
  • 海口网站建设介绍合肥网站建设多少钱
  • 网站开发工程师薪资app网站下载免费
  • wordpress做下载站中国商标网官网首页
  • 网站如何做电脑和手机软件做公司网站域名怎么做记账凭证
  • 帮别人做网站 别人违法青岛如何建立企业网站企业
  • 从哪看出网站的建站公司wordpress高级插件
  • 学校网站建设学生文明上网学院网站建设目标
  • 网站的英文wordpress的首页设置
  • 网站平台建设的实训报告网站免费推广网站
  • 公司如何做网站一般多少钱网站seo啥意思
  • 建设网站以后强大的wordpress 二次开发
  • 制作网站的设计难点智慧团建网站密码
  • 公司集团网站设计做视频上传多少个网站
  • php支持大型网站开发吗网站服务器管理 硬件
  • 河间市网站建设公司网站建立初步
  • 夺宝网站建设网站建设课设
  • 建网站需要软件制作灯笼的心得体会
  • 做品牌特卖的网站免费云主机哪个好
  • wordpress 中文站p2p网站开发的内容
  • 食品 技术支持 东莞网站建设wordpress添加附件下载
  • 乐山 做网站用ps软件做ppt模板下载网站有哪些
  • asp网站模板安装爱奇艺会员推广联盟
  • 博罗网站建设公司网站开发手把手