Vue入门:vue项目的创建和基本概念

一、vue的基本简介

1. 什么是vue?

Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。

2. 渐进式框架

Vue 是一个框架,也是一个生态。其功能覆盖了大部分前端开发常见的需求。但 Web 世界是十分多样化的,不同的开发者在 Web 上构建的东西可能在形式和规模上会有很大的不同。考虑到这一点,Vue 的设计非常注重灵活性和"可以被逐步集成"这个特点。根据你的需求场景,你可以用不同的方式使用 Vue:

  • 无需构建步骤,渐进式增强静态的 HTML
  • 在任何页面中作为 Web Components 嵌入
  • 单页应用 (SPA)
  • 全栈 / 服务端渲染 (SSR)
  • Jamstack / 静态站点生成 (SSG)
  • 开发桌面端、移动端、WebGL,甚至是命令行终端中的界面

3. 单文件组件

在大多数启用了构建工具的 Vue 项目中,我们可以使用一种类似 HTML 格式的文件来书写 Vue 组件,它被称为单文件组件 (也被称为 *.vue 文件,英文 Single-File Components,缩写为 SFC )。大家可以认为vue只要一个页面(一个HTML文件),页面的跳转和切换都是在这个页面上,基于路由来进行vue组件的切换。

二、怎么创建第一个vue项目

1、确保存在nodejs,可以通过npm -v测试,没有需要npm install,(如果已经安装,控制台不能使用,需要配置环境变量)

如果没有下载通过一下代码下载:

bash 复制代码
npm install

2、 npm create vue@latest:创建一个最新版本的vue项目

bash 复制代码
 npm create vue@latest

3、cd 项目名:切换到当前项目

4、npm install(简写:install i):在项目中安装nodejs

5、npm run dev:启动项目

6. 创建成功效果

三、项目结构解析

了解一门技术的最简单的方法就是了解项目的目录结构,这里就为大家详细的介绍一下项目结构:

四、基础页面样式和基础内容的格式化

打开终端打开项目网页的页面查看:

页面并不是空的,原因是每次创建一个新项目的时候都会有自己的基础页面,我们可以把基础样式的压面内容和样式删掉,接来就带大家删除:

删除和注释后的样子:

删除App根组件的代码:

保留**结构层(html底代码),样式层(css样式代码),逻辑层(te/js代码)**的基本代码:

再打开 打开终端打开项目网页的页面查看:

这样原来的页面和基础样式就被清除了。

五、选项式 API (Options API) 和组合式 API(Composition API)

1. 基本概念

其实我相信大家看见听见选项式API和组合式API大家肯定会都会有个问题:

①这个两个到底是什么?

  • 选项式 API(Options API)是 Vue2 中主要的编程方式 ,在 Vue3 中也保持兼容。它通过在组件对象中定义**datamethodscomputedwatch**等选项来组织代码,每个选项对应组件的不同功能模块。
  • 组合式 API(Composition API)是 Vue3 引入的新特性 ,以 setup 函数为入口,通过 refreactivecomputed 等函数来创建响应式数据和逻辑,允许将相关功能的代码聚合在一起,更灵活地组织组件逻辑
  • 总的来说:选项式 API(vue2:) 和组合式 API(vue3)是vue的两种不同的写法,都能通过他们来写页面,但是新技术肯定要比旧技术要好,所以我们以后还是主要学习组合式 API。

②有什么区别吗?

对比维度 选项式 API 组合式 API
代码组织方式 按选项(datamethods 等)分割,相关逻辑可能分散 按功能模块聚合,同一功能的代码集中在一起
灵活性 逻辑复用依赖 mixin,易产生命名冲突和来源不清问题 可通过自定义函数封装逻辑,复用性更高,来源清晰
类型支持 对 TypeScript 支持较弱,类型推断有限 天然适配 TypeScript,类型检查更完善
学习成本 直观易懂,适合初学者入门 需理解响应式 API(如 refreactive),初期有一定门槛
适用场景 简单组件或中小型项目 复杂组件或大型项目,便于维护和扩展

③都要学吗?

对于新手,可先掌握选项式 API 建立基础,再逐步学习组合式 API;对于有经验的开发者,建议重点掌握组合式 API 以充分发挥 Vue3 的优势。

2. vue的子组件的创建和页面渲染的原理

2.1 创建子组件

创建选项式子组件:

创建组合式子组件:(代码更加简介)

2.2 单页面渲染的原理

大家仔细阅读了前面的内容应该知道vue只有一个页面,渲染的基本步骤是:

components的子组件==>App根组件==>main.ts渲染==>index页面

①子组件写入基本文字提示

②导入App.vue根组件

③main.ts渲染到index

3. 选项式API示例

html 复制代码
<template>
  <div class="person">
    <h2>姓名:{{ name }}</h2>
    <h2>年龄:{{ age }}</h2>
    <button @click="changeName">修改名字</button>
    <button @click="changeAge">年龄+1</button>
    <button @click="showTel">点我查看联系方式</button>
  </div>
</template>
<script lang="ts">
export default {
  name: 'App',
  data() {
    return {
      name: '张三',
      age: 18,
      tel: '13888888888'
    }
  },
  methods: {
    changeName() {
      this.name = 'zhang-san'
    },
    changeAge() {
      this.age += 1
    },
    showTel() {
      alert(this.tel)
    }
  }
}
</script>
<style scoped>
</style>

4. 组合式API实例

html 复制代码
<script setup lang="ts">
  import { ref } from 'vue'
  let name = ref('张三')
  let age = ref(18)
  let tel = ref('12345678901')
  function changeName() {
    name.value = '李四'
  }
  function changeAge() {
    age.value++
  }
  function showTel() {
    alert(tel.value)
  }
</script>

<template>
  <h1>组合式API写法</h1>
  <div class="person">
    <h2>姓名:{{ name }}</h2>
    <h2>年龄:{{ age }}</h2>
    <button @click="changeName">修改名字</button>
    <button @click="changeAge">年龄+1</button>
    <button @click="showTel">点我查看联系方式</button>
  </div>
</template>

<style scoped>

</style>

运行结果:

六、总结

Vue3 作为 Vue.js 的重大更新,带来了性能的显著提升、源码的优化、更好的 TypeScript 支持以及众多新特性。在项目创建方面,Vite 作为新一代构建工具,相比 vue - cli 具有更快的启动速度和更好的开发体验,是创建 Vue3 项目的推荐选择。

通过本文的介绍,我们了解了 Vue3 的核心特性、项目创建方法、第一个应用的实现以及实际案例解析。希望这些内容能帮助你快速上手 Vue3,并在实际开发中充分发挥其优势。无论是从 Vue2 迁移到 Vue3,还是直接学习 Vue3,都能感受到它带来的便利和提升。

相关推荐
Gazer_S3 分钟前
【React Context API 优化与性能实践指南】
前端·javascript·react.js
w4ngzhen8 分钟前
COME,轻量级自托管的站点评论系统套件
前端·javascript
掘金酱9 分钟前
🎆仲夏掘金赛:码上争锋,金石成川 | 8月金石计划
前端·人工智能·后端
wordbaby9 分钟前
CSS 环境变量 env() 与自定义变量 var() 全面解读及实用场景
前端·css
oil欧哟32 分钟前
🧐 我开发的 AI 文本纠错/润色工具 Text-Well 上线了~
前端·ai编程·next.js
Mintopia32 分钟前
网格布尔运算的三重奏:从像素的邂逅到模型的重生
前端·javascript·计算机图形学
Apifox33 分钟前
Apifox 7 月更新|通过 AI 命名参数及检测接口规范、在线文档支持自定义 CSS 和 JavaScript、鉴权能力升级
前端·后端·测试
Mintopia35 分钟前
用 Three.js 构建组件库:一场 3D 世界的 "乐高" 之旅
前端·javascript·three.js
十五_在努力36 分钟前
参透 JavaScript —— 彻底理解原型与原型链
前端·javascript
CodeSheep40 分钟前
这个老爷子研究的神奇算法,影响了全世界!
前端·后端·程序员