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

自己做网站视频教程老司机们用的关键词有哪些

自己做网站视频教程,老司机们用的关键词有哪些,网上那么多色图网站怎么做的,城市建设和房屋管理部门网站vue3注册全局属性方法 前言一、app.config.globalProperties1 注册实例2 注册方法 二、依赖注入(Provide / Inject)1 注册实例2 注册方法3 一次性多次传入 最后 前言 在使用 Vue 时,多个地方使用同一个方法导致每个地方都需要按需引用&#…

vue3注册全局属性方法

  • 前言
  • 一、app.config.globalProperties
    • 1 注册实例
    • 2 注册方法
  • 二、依赖注入(Provide / Inject)
    • 1 注册实例
    • 2 注册方法
    • 3 一次性多次传入
  • 最后

前言

在使用 Vue 时,多个地方使用同一个方法导致每个地方都需要按需引用,从而增加代码量。然而,这种做法实际上有助于减少冗余、提高一致性,并且是代码重用、抽象或模块化的体现。这种方法提高了代码的维护性、可读性和一致性。

注:
自动导入Vue Composition API 函数(如 ref, reactive, computed 等)可以使用插件 unplugin-auto-import
组件全局注册可以参考官网vue3组件全局注册,或者使用插件unplugin-vue-components

一、app.config.globalProperties

一个用于注册能够被应用内所有组件实例访问到的全局属性的对象。

1 注册实例

main.js 中引入全局要使用的实例,通过 app.config.globalProperties 添加到全局中

//main.js文件
const app = createApp(App)
app.config.globalProperties.$Text = '111'
//使用的组件
<script setup>
import { getCurrentInstance } from 'vue'   const { proxy } = getCurrentInstance()
console.log(proxy.$Text);  //111 </script>

2 注册方法

同理也是可以注册方法的
这里写了个防抖函数,关于防抖函数可以参考这里Vue中使用防抖和节流

//main.js文件
import { debounce } from "./util"
const app = createApp(App)
app.config.globalProperties.$Debounce = debounce
//使用的组件
<template><button @click="clickeMe">点击我</button>
</template>
<script setup>
import { getCurrentInstance } from 'vue'
const { proxy } = getCurrentInstance()
const Debounce = proxy.$Debounce 
const clickeMe = Debounce(async () => {console.log("await我被点击了");//这里写需要的代码
}, 1000);
</script>

参考官网:app.config.globalProperties

二、依赖注入(Provide / Inject)

提供一个值,可以被后代组件注入。
在这里插入图片描述

1 注册实例

<script setup>
//APP.vue 
import {provide} from 'vue'
provide('text', '111')
</script>
//使用的组件
<script setup>
import { inject } from 'vue'const text = inject('text')
console.log(text); //111
</script>

2 注册方法

这里一样的用防抖来举例

<script setup>
//APP.vue 
import {provide} from 'vue'
import { debounce } from "./util"
provide('debounce', debounce)
</script>
//使用的组件
<script setup>
<template><button @click="clickeMe">点击我</button>
</template><script setup>
import { inject } from 'vue'
const debounce = inject('debounce')
const clickeMe = debounce(async () => {console.log("await我被点击了");//这里写需要的代码
}, 1000);
</script> 

效果图
请添加图片描述
可以看到多次点击后1s内执行了一次

3 一次性多次传入

在 Vue 3 中,provide 函数本身不支持一次性传递多个值。但可以通过将多个值包装在一个对象中,来实现类似的效果。这样可以通过单个 provide 调用传递多个参数。
代码示例:

//APP.vue 
import { debounce } from "./util"
const values = {text: '111',debounce: debounce
};
provide('values', values)
//使用的组件
<template><button @click="clickeMe">点击我</button>
</template><script setup>
import { inject } from 'vue'const values = inject('values')
const { debounce, text } = values
const clickeMe = debounce(async () => {console.log("await我被点击了"); //这里写需要的代码
}, 1000);
console.log(text); //111
</script>

参考Vue3官网:组合式 API:依赖注入

最后

参考文档:Vue3 MaskerFan 博客园

http://www.yuulin.com/news/466.html

相关文章:

  • Ext做网站培训机构还能开吗
  • 网站建设设计设计公司哪家好企业网络推广方式
  • 专业的集团网站建设百度关键词挖掘
  • 自己做网站的图片精准营销的三要素
  • 肇庆网络推广公司合肥网站seo
  • 怎么学习建设网站做网络营销推广的公司
  • 织梦后台怎么加自己做的网站腾讯域名
  • 网站建设山东聚搜网络b百度论坛发帖
  • 重庆安管人员证书查询seo查询seo
  • 代做道路毕业设计网站微信5000人接推广费用
  • 故事app怎么制作什么是seo站内优化
  • 百度上做网站免费吗百度推广关键词规划师
  • 台州企业网站的建设2023网站推广入口
  • 高效网站建设公司最专业的seo公司
  • 程序员给女盆友做的网站网站批量收录
  • 做的网站电脑上跟手机上不一样百度竞价排名是什么意思
  • 小江高端网站建设百度广告买下的订单在哪里找
  • 网站开发学习流程图中央新闻
  • 网站制作与网页制作免费发seo外链平台
  • 潍坊淘宝网站建设北京网优化seo优化公司
  • 做王境泽gif的网站网站后端开发
  • 邢台123网站模板全网推广平台
  • 网页设计与制作页面推广优化工具
  • 萝岗手机网站建设调研报告万能模板
  • 网站怎么做跳转安全天津百度网站快速排名
  • 石家庄做网站建设公司搜索引擎推广方案
  • 龙口建设局网站seo网站推广招聘
  • 什么最便宜网站建设win优化大师官网
  • cname 到其他网站天津放心站内优化seo
  • 典型的网站开发人员搜索关键词优化排名