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

企业的网站建设公司网站页面的优化

企业的网站建设公司,网站页面的优化,广西网站建设哪里有,抖音服务商简介 provide 与 inject 是一种跨层级组件(祖孙)通信方式。当组件多层嵌套时,不需要将数据一层一层的向下传递,通过它俩可以实现跨层级组件通信。 provide:提供者 注入一个值,可以被后代组件接收。 prov…

简介

provide 与 inject 是一种跨层级组件(祖孙)通信方式。当组件多层嵌套时,不需要将数据一层一层的向下传递,通过它俩可以实现跨层级组件通信。


provide:提供者

注入一个值,可以被后代组件接收。

provide它接受两个参数:

  1. 第一个参数是要注入的 key,可以是一个字符串或者一个 symbol。
  2. 第二个参数是要注入的值。

inject:接收者

接收一个由祖先组件或整个应用 (通过 app.provide()) 注入的值。

inject它接受两个参数:

  1. 第一个参数是注入的 key,找不到对应的 key,则返回 undefined 或默认值。
    1. Vue 会遍历父组件链,通过匹配 key 来确定所提供的值。如果父组件链上多个组件对同一个 key 提供了值,那么离得更近的组件将会 "覆盖" 链上更远的组件所提供的值。如果没有能通过 key 匹配到值,inject 将返回 undefined,除非提供了一个默认值。
  2. 第二个参数是默认值,非必填,也可以是一个工厂函数。

如果默认值本身就是一个函数,那么你必须将 false 作为第三个参数传入,表明这个函数就是默认值,而不是一个工厂函数。

const fn = inject('function', () => {}, false)

案列

App.vue组件

<template><div><Child></Child><div v-if="isShow">{{user.name}}--{{user.age}}--{{user.email}}</div><div>{{}}</div></div>
</template>
<script>
import { ref, provide, toRef, reactive } from 'vue';import Child from "./components/Child.vue" //导入Child组件模板
export default {components: {Child: Child //注册Child子组件},setup(props, context) {const isShow = ref(true);const email = ref("123@qq.com");const user = ref({name: "张三",age: 18,email,})const data = reactive({baseUrl: "http://localhost/",port: "8080",action: "login"})const myFun=()=>{email.value="999@qq.com";}provide("user", user);provide("email", email)provide("data", data);provide("myFun",myFun,true); //向后代组件提供一个函数,如果提供的是一个函数,第三个参数必须为true  在注入的时候用法:const myfun=inject("myFun"); 然后可以直接执行函数:myfun()return {isShow,user,}}
}
</script>

Child.vue子组件

<template><div><button>返回</button><button @click="myClick">点我改名</button></div>
</template>
<script>
import {inject, ref } from 'vue';export default {setup() {const user=inject("user");console.log(user.value.email);console.log(user.value.name);console.log(user.value.age);const emial=inject("email");console.log(emial.value);const data=inject("data");console.log(data.baseUrl);console.log(data.port);console.log(data.action);const myfun=inject("myFun"); //注入一个函数const myClick=()=>{//在VOA模式中,我们的案例在provide向后代组件提供了一个this 即:provide(){ return{app:this}}目的是为了再后代组件中可以修改祖组件中的对象值。//在VCA模式中,因为user在app.vue中user是用ref包装的,它是响应式的:所以这里修改后就直接修改了父组件app.vue中的user.value.name值了。不需要依赖this了user.value.name="李四";myfun();}return {myClick,}}
}
</script>

http://www.15wanjia.com/news/48871.html

相关文章:

  • 网页制作与网站建设技术大全 pdf全球搜索大全
  • 如何做一名优秀的网站管理者上海全网营销推广
  • 如何快速做h5网站吸引人的营销标题
  • 网站频繁改版购买模板建站
  • 网页设计作业简单seo优化工作有哪些
  • 福州网站建设培训成都高端网站建设哪家好
  • 首钢建设二建设公司网站竞价推广套户渠道商
  • 给企业建设网站的流程图百度图片
  • 嘉兴优化网站排名百度代理服务器
  • 聊城专业做网站的公司it行业培训机构一般多少钱
  • 网站生成app最近三天的新闻大事小学生
  • 开发公司资质办理要求河南seo网站多少钱
  • 网站建设 李奥贝纳百度网盘资源搜索引擎入口
  • 深圳今天最新疫情报告高粱seo博客
  • 住房和城乡建设部监理工程师网站长沙网站优化体验
  • 手机p2p网站开发百度手机助手安卓版下载
  • 抚州 提供网站建站 公司seo关键词排名优化怎么样
  • 怎么自己制作一个好的网站百度一下你就知道123
  • 网络服务器无响应深圳网站关键词排名优化
  • 深圳均安网站制作成都疫情最新消息
  • 用高权重网站的目录做站群怎么样手机如何建立网站
  • 陕西网站建设厦门网站制作站长工具网
  • 网站开发的前端语言是哪些南京网站排名提升
  • wordpress略缩图压缩武汉seo工厂
  • 网站建设公司做销售好不好聚合广告联盟
  • 昆明哪个公司做网站建设最好安年软文网
  • 非遗网站建设目的综合型b2b电子商务平台网站
  • 南山网站建设 信科网络如何制作一个网页页面
  • e建网站百度视频seo
  • a做爰视频免费网站竞价外包推广