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

建站管理后台手机地图app下载安装

建站管理后台,手机地图app下载安装,长安网站建设好吗,wordpress注册接口目录 一,关于跨组件通信概述 二,跨组件传值 案例1(爷传孙) 三,跨组件传函数 案例2(爷传孙) 疑问:孙子传给爷爷是否可行呢? 一,关于跨组件通信概述 之前我们学习了父子组件的传…

目录

一,关于跨组件通信概述

二,跨组件传值

案例1(爷传孙)

三,跨组件传函数

案例2(爷传孙)

疑问:孙子传给爷爷是否可行呢?


一,关于跨组件通信概述

之前我们学习了父子组件的传值,它仅仅只是两个组件嵌套传递数据,跨组件通信,则是多个组件传递数据。如:现在有三个组件:App.vue,father.vue,son.vue,我把App.vue看作爷爷,father.vue看作父亲,son.vue看作儿子。现在我要将数据从爷爷传给孙子,就可以使用跨组件通信。

提示

跨组件通信:使用 provide+inject的方式适用于需要跨层级共享数据的场景

但需注意不要滥用。如果组件层级较深,且需要在多个组件之间共享状态,可以使用 Vuex 或 Pinia 等状态管理工具(后面也会讲)


二,跨组件传值

案例1(爷传孙)

App.vue

<script setup>
import father from './views/father.vue';
import { provide,ref,reactive} from 'vue';
const data=ref(1234567890)
const dataObj=reactive({name:'张三',age:20})
provide('data',data)
provide('dataObj',dataObj)
</script>
<template>
<father></father>
</template><style scoped></style>

father.vue

<template><div>爷爷传给父亲的基本数据值:{{ father }}<br/>
爷爷传给父亲的对象值:{{ father1 }}</div></template><script setup>import { inject,ref } from 'vue';const father = inject('data');const father1 = inject('dataObj');const a=ref('')a.value=father.valueconsole.log(a.value)a.value=father1.nameconsole.log(a.value)</script><style lang="scss" scoped></style>

son.vue

<template><div>
爷爷传给孙子的基本数据:{{ parent }}<br>爷爷传给孙子的对象数据:{{ parent2 }}</div>
</template><script setup>
import { inject } from 'vue';
const parent = inject('data');
const parent2 = inject('dataObj');
console.log(parent2);
</script><style lang="scss" scoped></style>

测试结果

三,跨组件传函数

案例2(爷传孙)

son.vue

<template><button @click="count">爷爷传递的函数</button>
</template><script setup>
import { inject ,provide,ref} from 'vue';
const count=inject('count')
</script><style lang="scss" scoped></style>

App.vue

<script setup>
import father from './views/father.vue';
import { provide, inject,ref,reactive} from 'vue';
const count=ref(0)
const countNum=()=>{count.value++
}
provide('count',countNum)
</script><template>
<father>
</father>
<br/>
<h4>当孙子点击爷爷发送自增函数,数据:{{ count }}</h4>
</template><style scoped></style>

测试结果

总结:跨组件通信,无法做到孙子传给爷爷,但在组件中可以多次使用provide 或inject函数


疑问:孙子传给爷爷是否可行呢?

案例3(孙传爷)

son.vue

<template><div>爷爷传给孙子的基本数据:{{ parent }}<br>爷爷传给孙子的对象数据:{{ parent2 }}</div>
</template><script setup>
import { inject ,provide,ref} from 'vue';
const parent = inject('data');
const parent2 = inject('dataObj');
console.log(parent2);
const son = ref(11111)
provide("dataSon",son)
</script><style lang="scss" scoped></style>

App.vue

<script setup>
import father from './views/father.vue';
import { provide, inject,ref,reactive} from 'vue';
const data=ref(1234567890)
const dataObj=reactive({name:'张三',age:20})
provide('data',data)
provide('dataObj',dataObj)
const son=inject('dataSon')
console.log("son:",son)
</script><template>
<father>
</father>
</template><style scoped></style>

测试结果

http://www.cadmedia.cn/news/6868.html

相关文章:

  • 鹤壁市建设工程交易中心网站百度信息流投放方式有哪些
  • 网站建设图济南网络seo公司
  • 网站建设的好处哪些广告平台留号码
  • 网站建设询价公告竞价账户托管公司
  • 自己做网站建议关键词优化靠谱推荐
  • 政府网站建设工作存在的不足如何做免费网站推广
  • 宁德市住房和城乡建设局网站广州百度推广外包
  • 网站建设顺序百度快速排名技术培训教程
  • 求手机视频网站关键词优化的技巧
  • 个人备案的网站做企业内容百度竞价什么时候开始的
  • 上海市工程建设信息网怎样下载优化大师
  • 济南市建设委员会官方网站做个网页需要多少钱?
  • 岳阳seo官网优化用户体验
  • 湖南网站建设oqiandu业务推广网站
  • 工业网站建设永久免费客服系统软件
  • 招聘网站建设工作汇报搜索引擎优化的主要手段
  • 河北网站建设联系方式网络推广平台几大类
  • 中国最近的好消息网站seo快速
  • 网站设置黑白色网站怎么做
  • 长页在线制作网站企业培训机构排名
  • 苏省住房和城乡建设厅网站创建免费网站
  • 网站制作设计机构在线制作网站免费
  • 网站建设需要几个阶段网络营销方案3000字
  • 哈尔滨建站模板展示网页制作三大软件
  • 宁波网站建设xpckj百度数据库
  • 平台做网站点击百度产品
  • 网站视频链接惠州seo怎么做
  • 凡科网站怎么做淘宝客全国疫情最新数据
  • 西宁网站建设王道下拉惠优秀网页设计作品
  • 商城网站建设自助建站平台河北seo网络优化培训