5 Star 51 Fork 16

wd3322 / vue2-to-composition-api

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Vue2 Opitons api to Vue 3 Composition api

网站

Gitee: vue2-to-composition-api

Github: vue2-to-composition-api

Git地址

Gitee

Github

在线使用

home

Props / Data 数据转换

props_data

Computed 计算器属性转换

computed

Watch 侦听器转换

watch

Life cycle 生命周期转换

life_cycle

Methods 方法转换

methods


Template中的Data变更

转换后需为 Template 中的 Data 数据需加上 .data 前缀,其原因是许多开发者在Options API语法中做了改变引用类型数据地址的行为(如下),Data 将会被转换为一个完整的对象以兼容此类操作,此方式额外产生的迭代成本更小

Options API:

<template>
  <div>{{ userInfo }}</div>
</template>
export default {
  name: 'Sample',
  data() {
    return {
      userInfo: {}
    }
  },
  created() {
    this.userInfo = { name: 'Casey Adams', age: 80 }
  }
}

Composition API:

<template>
  <div>{{ data.userInfo }}</div>
</template>
import { reactive } from 'vue'

const data = reactive({
  userInfo: {}
})

data.userInfo = { name: 'Casey Adams', age: 80 }

Template中的Filter变更

Filter 已经被废弃,它将会被转换为外部的 Function 内容,需要在 Template 中改变 Filter 的调用方式

Options API

<template>
  <div>{{ married | toMarried }}</div>
</template>
export default {
  name: 'Sample',
  filters: {
    toMarried(value) {
      return value ? 'Yes' : 'No'
    }
  }
}

Composition API:

<template>
  <div>{{ toMarried(data.married) }}</div>
</template>
function toMarried(value) {
  return value ? 'Yes' : 'No'
}

Vue2.7中延用Router3.x、Vuex3.x

如若不想在 Vue2.7 项目中更新 Router4, Vuex4 ,可以从 Vue 实例中获取 Router, Route, Store

import { getCurrentInstance } from 'vue'

const $vm = getCurrentInstance()
const router = $vm.proxy.$router
const route = $vm.proxy.$route
const store = $vm.proxy.$store

无法解析的内容

动态变量或者拼接的内容无法被解析或解析错误

export default {
  methods: {
    onSubmit(propName) {
      this[propName] = '123'
      this.$emit(propName + '-change')
    }
  }
}

Package: vue2-to-composition-api

E-mail: diquick@qq.com

Author: wd3322

空文件

简介

一款将Vue2语法转换为Vue3语法的在线应用工具:Vue2 Opitons api to Vue 3 Composition api 展开 收起
TypeScript 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/wd3322/vue2-to-composition-api.git
git@gitee.com:wd3322/vue2-to-composition-api.git
wd3322
vue2-to-composition-api
vue2-to-composition-api
master

搜索帮助