Vue 3.0 有哪些新特性值得我们提前了解

2022-05-12 20:20:40 浏览数 (2)

一、迎接 Vue 3.0

  1. 简介

​ Vue.js 作者兼核心开发者尤雨溪宣布 Vue 3.0 进入 Beta 阶段。

代码语言:javascript复制
已合并所有计划内的 RFC
已实现所有被合并的 RFC
Vue CLI 现在通过 vue-cli-plugin-vue-next 提供了实验性支持
  1. 新特性

​ 重点关注:

代码语言:javascript复制
更快更省

Object.defineProperty ——> Proxy

重构 Virtual DOM

完全的TypeScript

团队开发更轻松

架构更灵活,阅读源码更轻松

可以独立使用Vue内部模块

Composition API(组合式API)

一组低侵入式的、函数式的 API

更好的逻辑复用与代码组织

更好的类型推导
  1. 参考资源 https://github.com/vuejs/vue-next https://vue-composition-api-rfc.netlify.app/

二、初始化项目

代码语言:javascript复制
系统环境

npm -v
nrm ls


安装@vue/cli

npm install @vue/cli -g


创建项目

vue create 项目名


在项目中安装 vue-next插件,试用Vue3 beta

vue add vue-next


项目变化

import { createApp } from 'vue';
import App from './App.vue'

createApp(App).mount('#app')


启动项目

npm run serve

​ 补充:

代码语言:javascript复制
vue-devtools 暂不支持Vue 3.0
VSCode中安装Vue 3 Snippets插件

三、setup函数

​ setup 函数是一个新的组件选项。作为在组件内使用 Composition API 的入口点。

  1. 调用时机

​ setup 函数会在 beforeCreate 钩子之前被调用 2. 返回值

​ 如果 setup 返回一个对象,则对象的属性可以在组件模板中被访问 3. 参数

​ 第一个参数为 props,接收当前组件props选项的值,即获取父组件传递过来的参数

代码语言:javascript复制
export default {
props: {
name: String,
},
setup(props) {
console.log(props.name)
},
}

​ 第二个参数为context,接收一个上下文对象,该对象中包含了一些在vue 2.x 中需要通过 this 才能访问到属性

代码语言:javascript复制
const MyComponent = {
setup(props, context) {
context.attrs
context.slots
context.emit

更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/119116561

0 人点赞