VUE3使用小技巧

vue3 优雅的拆分逻辑小技巧 逻辑拆分, vue2 使用 mixin,vue3 使用组合式函数 ,同时也是最小全局状态管理库; 阅读详情

1、 逻辑复用

// useCounter.js
import { ref } from 'vue'

export function useCounter(initialValue = 0) {
  const count = ref(initialValue)
  
  const increment = () => count.value++
  const decrement = () => count.value--
  
  return { count, increment, decrement }
}

// 组件中使用
import { useCounter } from './useCounter'

export default {
  setup() {
    const { count, increment } = useCounter(10)
    return { count, increment }
  }
}

2、 生命周期钩子

import { onMounted, onUnmounted } from 'vue'

export default {
  setup() {
    onMounted(() => {
      console.log('组件已挂载')
    })
    
    onUnmounted(() => {
      console.log('组件已卸载')
    })
  }
}

3、 生命周期钩子

import { reactive, toRefs } from 'vue'

export default {
  setup() {
    const state = reactive({
      name: 'Vue 3',
      version: '3.0'
    })
    
    // 使用toRefs保持响应性
    return { ...toRefs(state) }
  }
}

4、 计算属性优化

import { computed } from 'vue'

export default {
  setup() {
    const firstName = ref('John')
    const lastName = ref('Doe')
    
    // 缓存计算结果
    const fullName = computed(() => `${firstName.value} ${lastName.value}`)
    
    return { fullName }
  }
}

5、 多根节点

<template>
  <header>...</header>
  <main>...</main>
  <footer>...</footer>
</template>

6、 动态组件

<component :is="currentComponent" />

7、指令简写

<div v-bind="objectOfAttrs"></div>
<div v-on="objectOfListeners"></div>

8、v-memo

<div v-memo="[valueA, valueB]">
  <!-- 只有当valueA或valueB变化时才会更新 -->
  {{ valueA }} {{ valueB }}
</div>

9、懒加载组件

import { defineAsyncComponent } from 'vue'

const AsyncComponent = defineAsyncComponent(() =>
  import('./components/AsyncComponent.vue')
)

10、组合式API类型

import { ref } from 'vue'

export function useCounter() {
  const count = ref<number>(0)
  
  return { count }
}

11、使用provide/inject共享状态

// 父组件
import { provide, reactive } from 'vue'

export default {
  setup() {
    const state = reactive({ count: 0 })
    provide('sharedState', state)
  }
}

// 子组件
import { inject } from 'vue'

export default {
  setup() {
    const state = inject('sharedState')
    return { state }
  }
}

12、简易状态管理

// store.js
import { reactive } from 'vue'

export const store = reactive({
  count: 0,
  increment() {
    this.count++
  }
})

// 组件中使用
import { store } from './store'

export default {
  setup() {
    return { store }
  }
}

13、路由守卫

import { onBeforeRouteLeave, onBeforeRouteUpdate } from 'vue-router'

export default {
  setup() {
    onBeforeRouteLeave((to, from) => {
      // 离开路由前的逻辑
    })
    
    onBeforeRouteUpdate((to, from) => {
      // 路由更新时的逻辑
    })
  }
}

14、组合式API中使用路由

import { useRoute, useRouter } from 'vue-router'

export default {
  setup() {
    const route = useRoute()
    const router = useRouter()
    
    const goHome = () => router.push('/')
    
    return { route, goHome }
  }
}

15、调试响应式数据

import { isRef, isReactive, isReadonly, toRaw } from 'vue'

const state = reactive({ count: 0 })

console.log(isReactive(state)) // true
console.log(toRaw(state)) // 获取原始对象

16、渲染函数调试

import { h } from 'vue'

export default {
  render() {
    return h('div', { class: 'debug' }, [
      h('pre', JSON.stringify(this.$props, null, 2))
    ])
  }
}
Vue3效率指南,十个小技巧 Vue 学院官方博客1分享了 10 个提升生活质量、更符合人体工程学的开发技巧。 阅读详情

相关推荐

FPGA笔试题知识点汇总(21~40)

FPGA笔试题知识点汇总(21~40)

weixin_52487896的博客 5875

Vue3-黑马(六)

useCounter函数是封装的计数器的函数,返回是一个对象,里面有属性和方法count计数的数字初始值0,inc增减计数函数、dec减少计数函数。之前我们需要先准备好一个响应时的数据,当axios真正返回后,把返回的数据,更新掉响应式数据的值。引入use-Request函数:以后我们会用到很多的use函数,他们都是对响应式数据的增强封装。我们在实际中use函数的封装,不用我们自己写,其实已经有人帮助我们写好了工具函数。这个网站,它提供了很多的use函数帮助我们创建有扩展功能的响应时数据。

dengfengling999的博客 1886

游戏经济数值模型的搭建过程——以标准卡牌游戏为例

一、总体规划 1.玩家分类 首先我们按照下表对玩家进行分类 付费能力即为充值额度;充值行为比如购买月卡/购买钻石;消费行为比如用钻石抽卡 在这里我们假设玩家是理性的,即玩家会以追求更高的性价比为目标进行充值与消费(即小R会优先买首冲+月卡,而不是买一个无用的无属性皮肤) 不同类型玩家之间的差异,实际上就主要由这些行为的差异而决定。 注:早期游戏制作的时候,活跃程度也是区分玩家类型的一个重要依据。不过目前现在游戏中有各种手段抹平了不同活跃玩家的差异(体力限制,活跃时间长的收益递减)..

dudu3332的博客 4228

VueUse:Vue 3 开发中的强大 Hooks 库

基于 Vue 3 Composition API 的高质量 Hooks 库

lotte 1万+

APP抓包-代理转发绕过反代理+Xposed绕过证书校验

而这里的牛牛不止设置了反代理还设置了证书校验,一闪而过的三个数据包就是在校验证书。而proxifier工具的转发机制获取的是网络接口出口数据,相当于是在网络接口设代理。这个时候就可以在夜神打开牛牛开始抓包了,打开牛牛可以看到proxifier有夜神流量通过。关闭代理之后牛牛就正常了,可恶的牛牛啊,这样我没办法抓包啊,怎么办啊。模拟器开启代理,burp开启监听。打开牛牛app,牛牛不在报错。牛牛app检测的是系统代理,也就是在模拟器或手机上设置的代理。再在浏览器下载两个模块,在夜神安装,用来屏蔽证书校验。

xiaoheizi的博客 7530

HR离职预测模型实战:可解释、可干预、可落地的三层架构

员工离职预测本质上是组织健康度的早期诊断技术,其核心原理在于从行为、心理与结构数据中识别稳定性衰减信号。该技术的价值不仅在于提升预测准确率,更在于将模糊的‘人才风险’转化为可归因、可干预的具体因子,如工龄阶段、满意度落差、薪酬分位数等。典型应用场景覆盖HRBP主动留任、业务部门梯队预警及HRIS系统智能升级。本文聚焦于构建具备业务可解释性与操作闭环能力的离职预警模型,深度融合HR工作流与机器学习工程实践,尤其强调逻辑回归基线、特征业务化重构及三层递进式架构设计。

赵士杰的博客 387

vue3和react使用hook示例对比useCounter、usePoint

hook

Lee_01的博客 432

Mac上MySQL出现secure-file-priv为null

在使用MySQL导入导出文件时出现了错误,原因是没有配置secure-file-priv。 我的MySQL版本是8.0.13,使用如下命令查看secure-file-priv。 结果发现secure-file-priv为空,此时需要为它配置一个文件夹。 解决方案: 1)到MySQL的安装目录中去,Mac中是的是 /usr/local/mysql/support-files,该目录下有一...

zhangvalue的博客 5883

2-3-2 Vue3 整体解读

Vue3可以说对vue的程序应该如何写,重新下了定义: - JSX - Typescript - Composition API - reativity 在`SFC` 中你需要写`template` 和`script` 标签,这个方式有两个缺点: - 这样的设计不够灵活 - 需要v-show/v-if/v-for等(用户可以少记忆东西) - 关注点被分离(模板也好、script也好,都是解决某个关注点的一部分,在SFC中被强行分离了)。你可以思考一个template和script都很长的

m0_38066007的博客 480

C#上位机性能优化全攻略:彻底解决界面卡顿+多线程死锁+PLC数据延迟,产线实测稳定运行2年

一开始我们用的是网上找的零散优化代码,根本满足不了要求,后来花了2个月的时间,把之前27条产线的代码整理、重构、优化,做了一套这套方案上线后,连续稳定运行2年零3个月:界面响应时间稳定在50ms以内,多线程死锁率持续为0,PLC数据延迟稳定在150ms以内,系统可用率≥99.99%,帮客户一年省下了超过480万的停线损失、罚款损失和人工成本,客户第二年就把剩下的22条产线也全部交给我们做了,还介绍了3家同行。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 293

Access查询中的Dlookup函数的妙用

在Microsoft Access中,处理和分析数据的过程中,常常会遇到需要根据条件从其他记录中提取特定数据的情况。这时候,Dlookup函数就成了开发者和数据分析师的得力助手。今天我们将通过一个具体的实例,详细探讨如何利用Dlookup函数来解决复杂的查询问题。

m0_62153576的博客 295

VueUse——一个提升开发效率的Vue3工具库,让你早早下班

VueUse是一个基于 Composition API 实现的基本 Vue 组合实用函数的集合。 VueUse可能是受到了react-use的启发,可以看做是vue版的hook,Vue Compostion API支持了更好的逻辑分离,让这些常用的工具可以被复用,能够让你快速地构建丰富的应用,大大地提高你的开发效率在,避免自己去封装一些常用的功能函数,比如:防抖,节流,定时器等。

流绪@微梦 1万+

第 1 章 Prometheus 监控 | Prometheus 入门

了解 Prometheus 监控系统,学会安装及了解页面功能。

甘蓝的专栏 486

vue 3.0和2.0区别_Vue/cli3.0 的一些小技巧

vue/cli3.0比起vue/cli2.*来说,最明显的区别就是简化了两个文件,一个是build文件和config文件。vue/cli3.0把这两个文件的配置写进了node_modules里面去了。不过有些时候我们也需要配置一些适合自己项目开发的东西,所以我们可以把自己的相关配置写入vue.config.js文件中。(这个文件需要自己在src同目录下新建,下面统一说成根目录)介绍一下今...

weixin_39838028的博客 735

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

vue3中一些简单的小技巧

学习vue3+vite中看到了一些小技巧,这个小技巧可以在写代码时更加的顺畅,更加的丝滑。

m0_50074446的博客 4939

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

分享6个关于 Vue3 的小技巧

Vue 3是一个非常流行的前端框架,广泛应用于大型互联网企业和个人项目。虽然我们已经熟悉了一些常见的 Vue 3 知识,但还有一些不太常见但实用性很强的点可以帮助我们进一步优化和提升 Vue 3 应用的性能和开发效率。本文将介绍一些不太常见的Vue 3知识点。01、TeleportTeleport 是 Vue 3 中不太常见但非常有用的功能。它允许我们在组件内的任何位置渲染内容并将其安装到 DOM...

前端达人 269

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【vue3】小技巧合集

vue3小技巧合集,不看就亏了

坚信万物皆可切的切图仔 1380

vue3使用小技巧

允许开发者将组件内容投送到文档对象模型(DOM)中的任意位置。

qq_44255146的博客 293

vue3的开发小技巧

【代码】vue3的开发小技巧。

weixin_51198863的博客 573

vue3.0、vben-admin前端疑问和小技巧(由后端总结)

就好像后端,会了开发语言php、golang,然后就丢给你laravel, webman,hyperf, goframe,一样得看开发文档。来自后端的困惑:为什么我会vue,会typescript,甚至精通javascript、精通jquery,还是不太会修改前端的代码?而实际使用的,可能是各类前端框架,比如Vue-Vben-Admin。但是很可惜,package.json文件里的name配置的是server,为什么会这样,原因不明。访问API时,返回的数据不完整,只有data内的。

beiliwenxiao的专栏 394

提升 Vue3 开发幸福感的 8 个小技巧

vue3开发技巧

嗨,欢迎来到我的 优快云 博客小天地!一名深耕多年的技术发烧友。在这里,我将把日常工作中积累的宝贵经验,从复杂架构设计的精妙之处,到代码优化的实战技巧,毫无保留地分享给大家。 2032

学会这 10 个 Vue3 小技巧,性能直接起飞!

Vue 3 中的 reactive 默认是深度响应式,在处理大型数据集时会严重影响性能。对表格和大型数据集尤为关键,是 Vue3 性能优化中改变游戏规则的一个 Hack。它只追踪对象的顶层属性,类似于响应式系统的“省电模式”。将跨 store 的通用逻辑集中管理,全面提升 Vue 3 的状态管理能力。可以大幅减少不必要的重新渲染。是 Vue 3 性能优化中不可或缺的利器。优化资源加载效率,兼顾 SEO 和用户体验,是前端性能优化的理想选择。在异步操作过程中提供流畅的用户体验,是提升前端用户体验的关键手段。

pingan8787 170

vue3使用ant-design-vue的Modal的小技巧

ant的modal挂载,移动

Yosola的博客 7858

在使用vue3开发了几个项目后的小技巧分享

vue3使用总结 reactive 通过reactive定义的响应式数据,解构出来后会丢失响应;需要使用toRefs,为源响应式对象上的property新创建一个 ref const testReactiveVal = reactive({ name: '渣渣辉' , desc: '一刀99999'}); const { name, desc } = testReactiveVal; // name, desc丢失响应式 const { name, desc } = toRef(testRe

m0_45236510的博客 638

vscode中如何快速生成vue3模板-非常实用的小技巧

vscode中快速生成vue3模板

m0_37873510的博客 1万+

Vue 官方教学:提升 Vue3 开发幸福感的 8 个小技巧

前言最近Vue School发布了在Vue开发中,能让开发者提高幸福感的十个技巧,让我们大家来看看吧~1、Composition API + script setup用过Vue3 Composition API的朋友想必都知道有多么方便,相比于Vue2 Option API,开发体验简直是提升得不止一点,如果再加上script setup的话,那你写起 Vue 来会更加快捷2、...

奇舞周刊 275
上一篇: CSS冷门技巧
下一篇: Web Worker 剖析与应用
codingMan_09
博客等级 码龄2年 29粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

codingMan_09

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值