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

wordpress 计算程序天津seo建站

wordpress 计算程序,天津seo建站,wordpress获取文章列表分页,计算机的专业有哪些目录 前言1. 基本知识2. Demo3. 拓展 前言 原先写过一篇父传子,推荐阅读:详细分析Vue3中的props用法(父传子) 实战中也常用这种方式,今天突然发现还有另外一种方式,对此进行深入探讨学习下 1. 基本知识 …

目录

  • 前言
  • 1. 基本知识
  • 2. Demo
  • 3. 拓展

前言

原先写过一篇父传子,推荐阅读:详细分析Vue3中的props用法(父传子)

实战中也常用这种方式,今天突然发现还有另外一种方式,对此进行深入探讨学习下

1. 基本知识

在 Vue 3 中,provide 和 inject 是用于组件间数据共享的 API,允许父组件向子组件传递数据而不需要通过 props 一层层传递

  • provide
    在父组件中定义,可以提供数据给其所有子孙组件
    该数据可以是任何类型(对象、数组、基本数据类型等)

  • inject
    在子组件中使用,用于接收来自祖先组件提供的数据
    通过 inject,子组件可以直接使用父组件提供的数据,而无需通过 props

基本的步骤也很简单,就是父组件使用provide提供数据,子组件使用inject接收数据

2. Demo

基本的项目结构如下:

my-vue-app
├── src
│   ├── components
│   │   ├── ParentComponent.vue
│   │   ├── ChildComponent.vue
│   ├── App.vue
│   ├── main.js

创建一个父组件 ParentComponent.vue,在其中提供一些数据

<!-- src/components/ParentComponent.vue -->
<template><div><h2>父组件</h2><p>提供的主题颜色: {{ themeColor }}</p><ChildComponent /></div>
</template><script>
import { provide, ref } from 'vue';
import ChildComponent from './ChildComponent.vue';export default {components: {ChildComponent},setup() {// 创建一个响应式变量const themeColor = ref('blue');// 使用 provide 提供数据provide('themeColor', themeColor);return {themeColor};}
};
</script>
  1. 创建子组件
    创建一个子组件 ChildComponent.vue,在其中注入父组件提供的数据
<!-- src/components/ChildComponent.vue -->
<template><div><h3>子组件</h3><p>使用的主题颜色: {{ themeColor }}</p></div>
</template><script>
import { inject } from 'vue';export default {setup() {// 使用 inject 获取提供的数据const themeColor = inject('themeColor');return {themeColor};}
};
</script>
  1. 更新 App.vue
    在 App.vue 中使用父组件:
<template><div id="app"><ParentComponent /></div>
</template><script>
import ParentComponent from './components/ParentComponent.vue';export default {components: {ParentComponent}
};
</script>

3. 拓展

通过按钮点击改变主题颜色

相关的结构如下:

my-vue-app
├── src
│   ├── components
│   │   ├── ParentComponent.vue
│   │   ├── ChildComponent.vue
│   │   ├── ColorChanger.vue
│   ├── App.vue
│   ├── main.js
  1. 在父组件 ParentComponent.vue 中提供一个状态(主题颜色)和一个方法(改变颜色):
<!-- src/components/ParentComponent.vue -->
<template><div><h2>父组件</h2><p>当前主题颜色: {{ themeColor }}</p><ChildComponent /><ColorChanger /></div>
</template><script>
import { provide, ref } from 'vue';
import ChildComponent from './ChildComponent.vue';
import ColorChanger from './ColorChanger.vue';export default {components: {ChildComponent,ColorChanger},setup() {// 创建一个响应式变量const themeColor = ref('blue');// 方法:改变颜色const changeColor = (newColor) => {themeColor.value = newColor;};// 使用 provide 提供数据和方法provide('themeColor', themeColor);provide('changeColor', changeColor);return {themeColor};}
};
</script>
  1. 创建子组件
    在子组件 ChildComponent.vue 中注入并使用主题颜色:
<!-- src/components/ChildComponent.vue -->
<template><div><h3>子组件</h3><p>使用的主题颜色: {{ themeColor }}</p></div>
</template><script>
import { inject } from 'vue';export default {setup() {// 使用 inject 获取提供的数据const themeColor = inject('themeColor');return {themeColor};}
};
</script>
  1. 创建颜色改变组件
    在 ColorChanger.vue 中注入并使用改变颜色的方法:
<!-- src/components/ColorChanger.vue -->
<template><div><h3>颜色改变器</h3><button @click="changeColor('red')">红色</button><button @click="changeColor('green')">绿色</button><button @click="changeColor('blue')">蓝色</button></div>
</template><script>
import { inject } from 'vue';export default {setup() {// 使用 inject 获取提供的方法const changeColor = inject('changeColor');return {changeColor};}
};
</script>
  1. 更新 App.vue
    在 App.vue 中使用父组件:
<template><div id="app"><ParentComponent /></div>
</template><script>
import ParentComponent from './components/ParentComponent.vue';export default {components: {ParentComponent}
};
</script>

截图如下:

在这里插入图片描述

http://www.yayakq.cn/news/239654/

相关文章:

  • 电影视频网站源码附近电脑培训速成班一个月
  • 上海网站建设选缘魁 -企查做门户网站用什么技术好
  • 濮阳网站关键词网页制作的方法
  • 系统开发者选项怎么关网网站基础建设优化知识
  • 宁夏商擎网站建设阿里巴巴国际站首页
  • 为什么建设的网站有时候访问慢广告网站做动图怎么做
  • 建设信用中国网站医疗保险网站
  • 企业网站优化费用龙华区民治街道城市更新
  • 网站建设万网网站制作的服务商
  • 交换广告是两个网站做友情链接吗大学生个体创业的网站建设
  • 昆明网站建设外包wordpress微信qq登录界面
  • 淘宝网站开发慕枫宁波网站建设
  • 网站建设的电话销售好做不首次登陆建设银行网站图文解说
  • 网站公司网站定制iview做的网站
  • asp 网站建设教程免费制作公司网站
  • 巩义企业网站托管代运营公司seo公司 上海
  • 用php做网站和go做网站校园网站建设服务
  • 网站怎么找回密码c 网站建设教程视频教程
  • 示范高职建设网站软文网站平台
  • 如何把代码放在网站首页教程马大云湘潭
  • aspcms上传到虚拟主机后打开网站太原做网站哪里好
  • 做外贸如何建网站辽宁省建设工程信息网人员解除
  • dw进行网站建设包含哪些步骤注册网站时审核是人工审核吗还是电脑审核
  • 云服务器做视频网站微信里的小程序怎么添加
  • 门户网站建设成本网站建设如何财务处理
  • 设备网站开发青岛网站建站公司
  • 餐饮网站设计h5制作软件电脑
  • 做公司网站需要什么手续网页游戏网站模压板
  • 站长之家psd英铭科技做网站和设计制作更专业
  • 长春网站制作平台济南网站建设找聚搜网络