您的位置: 翼速应用 > 业内知识 > web前端 > 正文

Vue3.2终于发布!看看带来了那些新特性

特性一: 正式毕业了 <script setup>

从一开始学习vue3就注意到了实验性的<script setup> 因为简洁的写法受到许多人追捧(写过setup(){return{}} 的人都知道),甚至有人说这才是vue3的完全形态。看了更新描述,emmm....官方吐槽最为致命。

<script setup> 是一种编译时语法糖,可在 SFC 内使用 Composition API 时**极大地改善工作效率。


特性二: 新增<style> v-bind

然而<style> v-bind呢,简单地来说就是可以在内使用组件定义的动态值。

因为vue中文官网暂时没有此次的更新内容,需要的同学可能要到外网啃啃英文文档了。

文档地址:https://v3.vuejs.org/api/sfc-script-setup.html


特性三:新增 defineCustomElement方法

Vue 3.2 引入了一个新的 defineCustomElement 方法,可以使用 Vue 组件 API 轻松创建原生自定义元素:

import { defineCustomElement } from 'vue'
const MyVueElement = defineCustomElement({
  // normal Vue component options here
})
// Register the custom element.
// After registration, all `` tags
// on the page will be upgraded.
customElements.define('my-vue-element', MyVueElement)

特性四:性能改进

此处有很大篇幅讲述3.2版本的性能升级,其中提到了新的指令v-memo,简单来说这个指令会记住模板树的一部分,不仅跳过虚拟 DOM 差异,而且完全跳过新 VNode 的创建。可用于复杂的大型页面。


特性五:服务器渲染

最后提到了服务端渲染与新的Effect Scope API。有兴趣的同学可以仔细看一看更新文档。

blog.vuejs.org/posts/vue-3…

特性六:1024Lab 再说点儿

相信很多同学已经上手开始使用了。在文档中可以看到,

defineProps、defineEmits、defineExpose、withDefaults属于compiler macro,编译器宏。文档中也说到:

They do not need to be imported, and are compiled away when is processed

他们不需要引入,会在编译的时候处理掉。

然而不引入你用的时候就会报错。

首先eslint会报错:  ESLint: 'defineEmits' is not defined.(no-undef)


此时你需要更改eslint-plugin-vue的配置

//https://eslint.vuejs.org/user-guide/#compiler-macros-such-as-defineprops-and-defineemits-are-warned-by-no-undef-rule
module.exports = {
  globals: {
    defineProps: "readonly",
    defineEmits: "readonly",
    defineExpose: "readonly",
    withDefaults: "readonly"
  }
}

然后可能编译后浏览器控制台会报错

defineEmits is not defined

你可能会发现defineEmits等并没有在编译的时候处理掉,通过浏览器看源代码defineEmits还在,且画着红色波浪线。此时你可能需要查看package.json中各个包的版本以及vite的版本2.4.x,更新后重试,此时编译出来的代码应该是这样:

const _sfc_main = _defineComponent({
  props: {
    value: { type: Number, required: false }
  },
  emits: ["update:value"],
  setup(__props, { expose, emit }) {}
 })

以上就是Vue3.2已发布,带来了这些新特性!

我来说两句

0 条评论

推荐阅读

  • 响应式布局CSS媒体查询设备像素比介绍

    构建响应式网站布局最常见的是流体网格,灵活调整大小的站点布局技术,确保用户在使用的幕上获得完整的体验。响应式设计如何展示富媒体图像,可以通过以下几种方法。

    admin
  • 提升网站的性能快速加载的实用技巧

    网站速度很重要,快速加载的网站会带来更好的用户体验、更高的转化率、更多的参与度,而且在搜索引擎排名中也扮演重要角色,做SEO,网站硬件是起跑线,如果输在了起跑线,又怎么跟同行竞争。有许多方法可提升网站的性能,有一些技巧可以避免踩坑。

    admin
  • 织梦CMS TAG页找不到标签和实现彩色标签解决方法

    织梦cms是我们常见的网站程序系统的一款,在TAG标签中常常遇到的问题也很多。当我们点击 tags.php 页的某个标签的时候,有时会提示:“系统无此标签,可 能已经移除!” 但是我们检查程序后台,以及前台显示页面。这个标签确实存在,如果解决这个问题那?

    admin
  • HTML关于fieldset标签主要的作用

    在前端开发html页面中常用的标签很多,今天为大家带来的是关于HTML中fieldset标签主要的作用说明,根据技术分析HTML

    admin

精选专题