美文网首页
01.初认vue3

01.初认vue3

作者: 东邪_黄药师 | 来源:发表于2021-12-07 22:07 被阅读0次

vite基本使用

https://cn.vitejs.dev/

它是一个更加轻量(热更新速度快,打包构建速度快)的vue项目脚手架工具。
相对于vue-cli它默认安装的插件非常少,随着开发过程依赖增多,需要自己额外配置。
所以: 在单纯学习vue3语法会使用它,后面做项目的时候我们还是使用vue-cli

vite基本使用:

创建项目 npm init vite-app 项目名称 或者 yarn create vite-app 项目名称
安装依赖 npm i 或者 yarn
启动项目 npm run dev 或者 yarn dev

min.js

// 创建一个vue应用
// 1. 导入createApp函数
// 2. 编写一个根组件App.vue,导入进来
// 3. 基于根组件创建应用实例
// 4. 挂载到index.html的#app容器
import {createApp} from 'vue'
import App from './App.vue'
const app = createApp(App)
app.mount('#app')

选项API和组合API

1.Options ApI
在vue2.x项目中使用的就是 选项API 写法
代码风格:data选项写数据,methods选项写函数...,一个功能逻辑的代码分散。
优点:易于学习和使用,写代码的位置已经约定好
缺点:代码组织性差,相似的逻辑代码不便于复用,逻辑复杂代码多了不好阅读。
补充:虽然提供mixins用来封装逻辑,但是出现数据函数覆盖的概率很大,不好维护。

<template>
  <div class="container">
    <div>鼠标位置:</div>
    <div>X轴:{{x}}</div>
    <div>Y轴:{{y}}</div>
    <hr>
    <div>{{count}} <button @click="add()">自增</button></div>  
  </div>
</template>
<script>
export default {
  name: 'App',
  data () {
    return {
      x: 0,
      y: 0,
      count: 0
    }
  },
  mounted() {
    document.addEventListener('mousemove', this.move)
  },
  methods: {
    move(e) {
      this.x = e.pageX
      this.y = e.pageY
    },
    add () {
        this.count++
    }    
  },
  destroyed() {
    document.removeEventListener('mousemove', this.move)
  }
}
</script>

2.组合API写法:Compositon API
在vue3.0项目中将会使用 组合API 写法
代码风格:一个功能逻辑的代码组织在一起(包含数据,函数...)
优点:功能逻辑复杂繁多情况下,各个功能逻辑代码组织再一起,便于阅读和维护
缺点:需要有良好的代码组织能力和拆分逻辑能力.
补充:为了能让大家较好的过渡到vue3.0的版本来,也支持vue2.x选项API写法

<template>
  <div class="container">
    <div>鼠标位置:</div>
    <div>X轴:{{x}}</div>
    <div>Y轴:{{y}}</div>
    <hr>
    <div>{{count}} <button @click="add()">自增</button></div>  
  </div>
</template>
<script>
import { onMounted, onUnmounted, reactive, ref, toRefs } from 'vue'
export default {
  name: 'App',
  setup () {
    // 鼠标移动逻辑
    const mouse = reactive({
      x: 0,
      y: 0
    })
    const move = e => {
      mouse.x = e.pageX
      mouse.y = e.pageY
    }
    onMounted(()=>{
      document.addEventListener('mousemove',move)
    })
    onUnmounted(()=>{
      document.removeEventListener('mousemove',move)
    })

    // 累加逻辑
    const count = ref(0)
    const add = () => {
      count.value ++ 
    }

    // 返回数据
    return {
      ...toRefs(mouse),
      count,
      add
    }
  }
}
</script>

相关文章

  • 01.初认vue3

    vite基本使用 https://cn.vitejs.dev/[https://cn.vitejs.dev/] 它...

  • 初认hadoop

    什么是hadoop? hadoop = teh hadoop projects hadoop体系架构生态圈主要包含...

  • 初认RAC

    ReactiveCocoa的核心: 信号,没错就是信号,发了信号要干嘛干嘛,讲白了就是一个事件流; 那么我们来把这...

  • 初认Git

    以前总是在集成开发环境或者客户端懵懵懂懂的使用着git,周末自己进一步学习了git执行原理以及命令行操作,感觉很有...

  • 初认gulp

    为什么是Gulp? 类似Gulp的工具,我们通常称之为构建工具。如今最流行的两个构建工具是Gulp和Grunt。已...

  • Dubbo 初认

    Dubbo市面上很火的分布式服务治理框架,我就我自己的学习做一笔记。首先我们要知道Dubbo产生的背景,当然是传统...

  • Vue3 有哪些新特性-runtime-umd文件区别

    1. 前言 现在是21年8月初,Vue3,公司新项目用,Vue3的也多了起来,一些技术爱好者也早都学了 Vue3,...

  • 初认闭包

    写在最前:和其他大多数高级编程语言一样,JavaScript也采用词法作用域。 为了实现词法作用域,JavaScr...

  • 初认机器学习

    对“机器学习”有些兴趣,我今天特意向朋友请教了“机器学习”的知识。 1.机器学习(Machine Learning...

  • Vue3初使用

    script标签 这里vue3在script标签上加上了setup,可以简化使用,如下所示,引入组件后可以直接使用...

网友评论

      本文标题:01.初认vue3

      本文链接:https://www.haomeiwen.com/subject/xfaaxrtx.html