• vue3语法糖


    ### Vue3 提了个 [Ref Sugar 的 RFC](https://link.juejin.cn?target=https%3A%2F%2Fgithub.com%2Fvuejs%2Frfcs%2Fdiscussions%2F369 "https://github.com/vuejs/rfcs/discussions/369"),即 `ref` 语法糖,目前还处理实验性的(Experimental)阶段。在 RFC 的动机(Motivation)中,Evan You 介绍到在 Composition API 引入后,一个主要未解决的问题是 `refs` 和 `reactive` 对象的使用。而到处使用 `.value` 可能会很麻烦,如果在没使用类型系统的情况下,也会很容易错过

    ```
    const test = ref(1)
    const btn = () =>{
    test.value++
    }
    ```
    ### 这样一些用户更倾向于只使用 `reactive`,这样就不用处理使用 `refs` 的 `.value` 问题。而 `ref` 语法糖的作用是让我们在使用 `ref` 创建响应式的变量时,可以直接获取和更改变量本身,而不是使用 `.value` 来获取和更改对应的值。简单的说,**站在使用层面**,我们可以告别使用 `refs` 时的 `.value` 问题
    ```
    const test = $(ref(1))
    const btn = () =>{
    test++
    } // 这样就可以不用.value了
    ```
    ### vue3+vite需要在vite.config.js配置,是由 `@vitejs/plugin-vue` 插件来实现对 `.vue` 文件的代码转换(Transform)、热更新(HMR)等。所以,我们需要在 `vite.config.js` 中给 `@vitejs/plugin-vue` 插件的选项(Options)传入 `refTransform: true`:

    ```
    import { defineConfig } from 'vite'
    import vue from '@vitejs/plugin-vue'
    export default defineConfig({
    plugins: [vue({ refTransform: true })]
    })
    ```
    ### 这样插件就可以根据传入的选项中 `refTransform` 的值判断是否需要对 `ref` 语法糖进行特定的代码转换。我们refTransform这里设置的是 `true`,显然它是会对 `ref` 语法糖执行特定的代码转换。
    ### 这样就可以使用$ref()语法糖了
    ```
    const test = $ref(1)
    const btn = () =>{
    test++
    }
    ```
    #### 结尾大哥图!!!

    ![dage.jpg](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f5676d4d0e5a4fb29a0ff086a0713c3a~tplv-k3u1fbpfcp-watermark.image?)

    见习搬运工
  • 相关阅读:
    MySQL基础
    DNS域名解析服务
    仿Mars MP3播放器项目5
    仿Mars MP3播放器项目4
    仿Mars MP3播放器项目3
    仿Mars MP3播放器项目2
    仿Mars MP3播放器项目1
    JAVA 随记1
    Redis和Memcache的区别
    php用smtp发送邮件
  • 原文地址:https://www.cnblogs.com/mound/p/15592388.html
Copyright © 2020-2023  润新知