Vue3【为什么选择Vue框架、Vue简介 、Vue API 风格 、Vue开发前的准备 、Vue项目目录结构 、模板语法、属性绑定 、 】(一)-全面详解(学习总结---从入门到深化)

简介: Vue3【为什么选择Vue框架、Vue简介 、Vue API 风格 、Vue开发前的准备 、Vue项目目录结构 、模板语法、属性绑定 、 】(一)-全面详解(学习总结---从入门到深化)

为什么选择Vue框架


Vue是什么?


渐进式 JavaScript 框架,易学易用,性能出色,适用场景丰富的 Web 前端框架


为什么要学习Vue


1 Vue是目前前端最火的框架之一

2 Vue是目前企业技术栈中要求的知识点

3 Vue可以提升开发体验

4 ...


Vue简介



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

官网文档地址:https://cn.vuejs.org/ 


渐进式框架


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


1、无需构建步骤,渐进式增强静态的 HTML

2、在任何页面中作为 Web Components 嵌入

3、单页应用 (SPA)

4、全栈 / 服务端渲染 (SSR)

5、Jamstack / 静态站点生成 (SSG)

6、开发桌面端、移动端、WebGL,甚至是命令行终端中的界面


Vue版本


目前,在开发中,Vue有两个大版本可以选择 Vue2Vue3 ,老项目一 般都是 Vue2 的,而新项目一般都选择 Vue3 开发 我们本套课程讲解版本为 Vue3 ,因为 Vue3 涵盖了 Vue2 的知识体系, 当然 Vue3 也增加了很多新特性


Vue API 风格


Vue 的组件可以按两种不同的风格书写:选项式 API 和组合式 API 大部分的核心概念在这两种风格之间都是通用的。熟悉了一种风格以后,你也能够很快地理解另一种风格


选项式 API (Options API)


使用选项式 API,我们可以用包含多个选项的对象来描述组件的逻辑,例如 datamethodsmounted 。选项所定义的属性都会暴露在函数内部的 this 上,它会指向当前的组件实例

<script>
    export default {
    data() {
      return {
        count: 0
   }
 },
  methods: {
    increment() {
      this.count++
   }
 },
  mounted() {
    console.log(`The initial count is ${this.count}.`)
 }
}
</script>
<template>
  <button @click="increment">Count is: {{ count }}</button>
</template>


组合式 API (Composition API)


通过组合式 API,我们可以使用导入的 API 函数来描述组件逻辑。

<script setup>
import { ref, onMounted } from 'vue'
const count = ref(0)
function increment() {
  count.value++
}
onMounted(() => {
  console.log(`The initial count is ${count.value}.`)
})
</script>
<template>
  <button @click="increment">Count is: {{ count }}</button>
</template>


两种 API 风格都能够覆盖大部分的应用场景。它们只是同一个底层 系统所提供的两套不同的接口。实际上,选项式 API 是在组合式 API 的基础上实现的!关于 Vue 的基础概念和知识在它们之间都是通用的。


在生产项目中


当你不需要使用构建工具,或者打算主要在低复杂度的场景中使用 Vue,例如渐进增强的应用场景,推荐采用选项式 API


当你打算用 Vue 构建完整的单页应用,推荐采用组合式 API + 单文件组件


Vue开发前的准备


构建工具让我们能使用 Vue 单文件组件 (SFC)。Vue 官方的构建流程是基于 Vite 的,一个现代、轻量、极速的构建工具


创建Vue项目


npm init vue@latest


这一指令将会安装并执行 create-vue ,它是 Vue 官方的项目脚手架工具。你将会看到一些诸如 TypeScript 和测试支持之类的可选功能提示

✔ Project name: … <your-project-name>
✔ Add TypeScript? … No / Yes
✔ Add JSX Support? … No / Yes
✔ Add Vue Router for Single Page Application
development? … No / Yes
✔ Add Pinia for state management? … No / Yes
✔ Add Vitest for Unit testing? … No / Yes
✔ Add Cypress for both Unit and End-to-End
testing? … No / Yes
✔ Add ESLint for code quality? … No / Yes
✔ Add Prettier for code formatting? … No /
Yes
Scaffolding project in ./<your-project-name>...
Done.


如果不确定是否要开启某个功能,你可以直接按下回车键选择 No 。 在项目被创建后,通过以下步骤安装依赖并启动开发服务器

cd <your-project-name>
npm install
npm run dev


开发环境


推荐的 IDE 配置是 Visual Studio Code + Volar 扩展


实时效果反馈


1. 创建Vue项目的命令是什么?:

A npm create-vue project

B npm cerate vue project

C npm create-react project

D npm init vue@latest


Vue项目目录结构


我们通过Vue命令行工具 npm init vue@latest 创建项目,会出现很多文件及文件夹


.vscode          --- VSCode工具的配置文件夹
node_modules     --- Vue项目的运行依赖文件夹
public           --- 资源文件夹(浏览器图标)
src              --- 源码文件夹
.gitignore       --- git忽略文件
index.html       --- 入口HTML文件
package.json     --- 信息描述文件
README.md        --- 注释文件
vite.config.js   --- Vue配置文件


模板语法


Vue 使用一种基于 HTML 的模板语法,使我们能够声明式地将其组件实例的数据绑定到呈现的 DOM 上。所有的 Vue 模板都是语法层面合法的 HTML,可以被符合规范的浏览器和 HTML 解析器解析。


文本插值


最基本的数据绑定形式是文本插值,它使用的是“Mustache”语法 (即双大括号):

<template>
    <p>{{ msg }}</p>
</template>
<script>
export default {
    data(){
        return{
            msg:"神奇的魔法"
       }
   }
}
</script>


使用 JavaScript 表达式


每个绑定仅支持单一表达式,也就是一段能够被求值的 JavaScript 代码。一个简单的判断方法是是否可以合法地写在 return 后面

<template>
    <p>{{ number + 1 }}</p>
    <p>{{ ok ? 'YES' : 'NO' }}</p>
    <p>{{ message.split('').reverse().join('') }}</p>
</template>
<script>
  export default {
    data(){
        return{
            number:10,
            ok:true,
            message:"大家好"
       }
   }
}
</script>


无效

<!-- 这是一个语句,而非表达式 -->
{{ var a = 1 }}
<!-- 条件控制也不支持,请使用三元表达式 -->
{{ if (ok) { return message } }}


原始 HTML


双大括号将会将数据插值为纯文本,而不是 HTML。若想插入 HTML,你需要使用 v-html 指令

<template>
    <p>纯文本: {{ rawHtml }}</p>
    <p>属性: <span v-html="rawHtml"></span>
</p>
</template>
<script>
  export default {
     data(){
        return{
            rawHtml:"<a href='https://itxiaotong.com'>童小纯</a>"
       }
   }
}
</script>


实时效果反馈


1. 下列那个语句可以作为模板语法中的语句:


A {{ var a = 1 }}

B {{ if (ok) { return message } }}

C {{ message.split('').reverse().join('') }}

D {{ if (ok) {} else {} }}


属性绑定


双大括号不能在 HTML attributes 中使用。想要响应式地绑定一个 attribute,

应该使用 v-bind 指令

<template>
    <div v-bind:id="dynamicId" v-bind:class="dynamicClass">AppID</div>
</template>
<script>
  export default {
     data(){
        return{
            dynamicId:"appid",
            dynamicClass:"appclass"
       }
   }
}
</script>
<style>
.appclass{
    color: red;
    font-size: 20px;
}
</style>


v-bind 指令指示 Vue 将元素的 id attribute 与组件的 dynamicId 属性保持一致。如果绑定的值是 null 或者 undefined ,那么该 attribute 将会从渲染的元素上移除


简写


因为 v-bind 非常常用,我们提供了特定的简写语法

<div :id="dynamicId" :class="dynamicClass">
</div>


布尔型 Attribute


布尔型 attribute 依据 true / false 值来决定 attribute 是否应该存在于该元素上, disabled 就是最常见的例子之一

<template>
    <button :disabled="isButtonDisabled">Button</button>
</template>
<script>
  export default {
    data(){
        return{
            isButtonDisabled:true
       }
   }
}
</script>


动态绑定多个值


如果你有像这样的一个包含多个 attribute 的 JavaScript 对象

<template>
    <div v-bind="objectOfAttrs">童小纯</div>
</template>
<script>
export default {
    data() {
        return {
            objectOfAttrs: {
                id: 'container',
                class: 'wrapper'
           }
       }
   }
}
</script>
目录
相关文章
|
3天前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
96 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
27天前
|
数据采集 搜索推荐 API
小红书笔记详情 API 接口的开发、应用与收益
小红书(RED)作为国内领先的生活方式分享平台,汇聚了大量用户生成内容(UGC),尤其是“种草”笔记。小红书笔记详情API接口为开发者提供了获取笔记详细信息的强大工具,包括标题、内容、图片、点赞数等。通过注册开放平台账号、申请API权限并调用接口,开发者可以构建内容分析工具、笔记推荐系统、数据爬虫等应用,提升用户体验和运营效率,创造新的商业模式。本文详细介绍API的开发流程、应用场景及潜在收益,并附上Python代码示例。
205 61
|
2月前
|
监控 Cloud Native 安全
基于 API 网关践行 API First 开发实践
API First 开发模式的核心在于:以 API 为先,将其视为“头等公民”,在构建应用、服务及集成之前,应优先定义并设计 API 及其配套。API First 作为一种相对较新的开发模式,它已逐渐流行并获得业内的广泛认可。
192 73
|
22天前
|
人工智能 Rust 安全
DeepClaude:结合 DeepSeek R1 和 Claude AI 各自优势开发的 AI 应用平台,支持 API 调用和零延迟的即时响应
DeepClaude 是一个开源的 AI 应用开发平台,结合了 DeepSeek R1 和 Claude 模型的优势,提供即时响应、端到端加密和高度可配置的功能。
274 4
DeepClaude:结合 DeepSeek R1 和 Claude AI 各自优势开发的 AI 应用平台,支持 API 调用和零延迟的即时响应
|
22天前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
57 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
2天前
|
数据可视化 测试技术 API
前后端分离开发:如何高效调试API?有工具 vs 无工具全解析
在前后端分离的开发模式中,API 调试的效率直接影响项目的质量和交付速度。通过本文的对比分析,我们可以看到无工具调试模式虽具备灵活性和代码复用能力,但在操作便利性和团队协作上稍显不足。而传统的外部调试工具带来了可视化、高效协作与扩展性,却可能存在工具切换带来的开发链路断层问题。Apipost-Hepler 融合了两者的优势,让开发者无需离开熟悉的 IDEA 环境,就能享受可视化调试工具的强大功能。
28 5
|
8天前
|
Cloud Native 安全 Serverless
云原生应用实战:基于阿里云Serverless的API服务开发与部署
随着云计算的发展,Serverless架构日益流行。阿里云函数计算(Function Compute)作为Serverless服务,让开发者无需管理服务器即可运行代码,按需付费,简化开发运维流程。本文从零开始,介绍如何使用阿里云函数计算开发简单的API服务,并探讨其核心优势与最佳实践。通过Python示例,演示创建、部署及优化API的过程,涵盖环境准备、代码实现、性能优化和安全管理等内容,帮助读者快速上手Serverless开发。
|
1月前
|
搜索推荐 数据挖掘 API
淘宝商品描述 API 接口的开发、应用与收益
淘宝商品描述API接口是淘宝开放平台提供的服务,允许开发者编程获取商品详情,如标题、价格、图片等。通过注册账号、申请权限并调用API,可构建比价工具、推荐系统、自动化上架工具等应用,提升用户体验与运营效率,创造新的商业模式。该接口为电商从业者提供了强大的数据支持和创新机会。
87 22
|
1月前
|
供应链 搜索推荐 数据挖掘
阿里巴巴热卖商品推荐 API 接口的开发、应用与收益
阿里巴巴热卖商品推荐API为开发者提供了获取平台热卖商品信息的强大工具,涵盖商品标题、价格、销量等数据。通过注册开放平台账号、申请API权限并调用接口,开发者可构建热卖商品推荐系统、数据分析工具及供应链管理系统等应用,提升用户体验与运营效率,创造新的商业模式。该API采用RESTful风格,支持多种应用场景,助力电商从业者实现创新与增值。
131 7
|
1月前
|
供应链 数据挖掘 API
1688APP 原数据 API 接口的开发、应用与收益
1688作为阿里巴巴旗下的B2B平台,汇聚海量供应商和商品资源。其APP原数据API接口为开发者提供获取商品详细信息的强大工具,涵盖商品标题、价格、图片等。通过注册开放平台账号、申请API权限并调用接口,开发者可构建比价工具、供应链管理及自动化上架工具等应用,提升用户体验与运营效率,创造新的商业模式。示例代码展示了如何使用Python调用API并解析返回结果。
106 8

热门文章

最新文章