vue-demi

简介: vue-demi

事物都是互相妥协的。就是冰山也会时而消融,时而重新凝聚。——爱默生

分享一个vue

https://github.com/vueuse/vue-demi

用来解决编写的代码在vue2vue3之间的兼容问题

安装:

npm i vue-demi

然后修改package.json,将vue@vue/composition-api添加到peerDependencies

{
  "dependencies": {
    "vue-demi": "latest"
  },
  "peerDependencies": {
    "@vue/composition-api": "^1.0.0-rc.1",
    "vue": "^2.0.0 || >=3.0.0"
  },
  "peerDependenciesMeta": {
    "@vue/composition-api": {
      "optional": true
    }
  },
  "devDependencies": {
    "vue": "^3.0.0" // or "^2.6.0" base on your preferred working environment
  },
}

使用时,就从vue-demi

import { ref, reactive, defineComponent } from 'vue-demi'

例如这个例子:

https://github.com/vueuse/vue-demi/blob/main/examples/%40vue-demi/use-mouse/src/index.ts

import { ref, onMounted, onUnmounted } from 'vue-demi'
export function useMouse() {
  const x = ref(0)
  const y = ref(0)
  const update = (e: MouseEvent) => {
    x.value = e.pageX
    y.value = e.pageY
  }
  onMounted(() => {
    window.addEventListener('mousemove', update)
  })
  onUnmounted(() => {
    window.removeEventListener('mousemove', update)
  })
  return {
    x,
    y
  }
}
相关文章
|
前端开发 API 调度
React 之从 requestIdleCallback 到时间切片
在上篇《React 之 requestIdleCallback 来了解一下》,我们讲解了 requestIdleCallback 这个 API,它可以实现在浏览器空闲的时候执行代码,这就与 React 的理念非常相似,都希望执行的时候不影响到关键事件,比如动画和输入响应,但因为兼容性、requestIdleCallback 定位于执行后台和低优先级任务、执行频率等问题,React 在具体的实现中并未采用 requestIdleCallback,本篇我们来讲讲 React 是如何实现类似于 requestIdleCallback,在空闲时期执行代码的效果,并由此讲解时间切片的背后实现。
945 0
|
监控 小程序 JavaScript
讯飞-微信小程序-语音助手
讯飞-微信小程序-语音助手
570 1
讯飞-微信小程序-语音助手
|
缓存 前端开发 JavaScript
微前端模块共享你真的懂了吗(下)
前言:我们运用微前端架构解决了应用体积庞大的问题,通过实践微前端的理念,将前端应用拆分为多个微应用(可独立部署、松散耦合的应用)。同时微应用的存在,使得我们无需在构建一个庞大的应用,而是按需构建,极大了加快了构建效率。但只是解决了应用层面的问题,在中后台应用场景中,不同微应用和基座之间可能存在通用的模块依赖,那么如果应用间可以实现模块共享,那么可以大大优化单应体积大小
1074 1
微前端模块共享你真的懂了吗(下)
|
JavaScript
成功解决node、node-sass和sass-loader版本冲突问题、不需要降低node版本。如何在vue项目中安装node-sass,以及安装node-sass可能遇到的版本冲突问题
这篇文章介绍了在Vue项目中安装node-sass和sass-loader时遇到的版本冲突问题,并提供了解决这些问题的方法,包括在不降低node版本的情况下成功安装node-sass。
成功解决node、node-sass和sass-loader版本冲突问题、不需要降低node版本。如何在vue项目中安装node-sass,以及安装node-sass可能遇到的版本冲突问题
|
开发框架 Dart 开发工具
一个Android项目怎么判断是flutter
【6月更文挑战第6天】
536 2
|
机器学习/深度学习 数据采集 算法
【2021 数学建模“华为杯”】B题:空气质量预报二次建模 2 方案设计附实现代码
2021年数学建模“华为杯”B题的方案设计和实现代码,包括数据预处理、特征选择、聚类算法、气象特征分析以及使用LSTM神经网络进行多变量时间序列预测以实现空气质量预报。
659 0
vue3按需导入echarts
vue3按需导入echarts
682 0
|
前端开发 JavaScript Java
【vue】 前端 基于 vue-simple-uploader 实现大文件断点续传和分片上传
【vue】 前端 基于 vue-simple-uploader 实现大文件断点续传和分片上传
1799 0
|
前端开发
token 无感刷新
token 无感刷新
494 0