Vue基础(一)

简介: Vue基础

1 Vue简介

1.1 什么是Vue

Vue是一套用于构建用户界面的前端框架

构建用户界面:

用Vue往页面中填充数据非常方便。

前端开发者最主要的工作就是为网站的使用者构建美观、舒适、好用的网页。

框架:

一套现成的解决方案

vue全家桶:vue(核心库)、vue-router(路由方案)、vuex(状态管理方案)、vue组件库(快速搭建页面UI效果的方案)

辅助vue开发的一系列工具:

vue-cli:npm全局包,一键生成工程化的vue项目,基于webpack,大而全

vite:npm全局包,一键生成vue项目,小而巧

vue-devtools:浏览器插件,辅助调试工具

vetur:vscode插件,提供语法高亮和智能提示

1.2 vue的特性

vue框架的特性主要体现在:

1.数据驱动视图

使用vue的页面中,vue会监听数据的变化,自动重新渲染页面的结构(数据驱动视图是单向的数据绑定)

数据发生变化,页面会自动重新渲染

2.双向数据绑定

在填写表单时,双向数据绑定可以辅助开发者在不操作dom的前提下自动把用户填写的内容同步到数据源,开发者不用再手动操作dom

1.3 MVVM

MVVM是vue实现数据驱动视图和双向数据绑定的核心原理。

它把每个HTML页面拆分成三个部分:

Model:当前页面所渲染的DOM结构。

View:当前页面渲染时所依赖的数据源。

ViewModel:vue实例,MVVM的核心。

1.3.1 MVVM的工作原理

ViewModel作为MVVM的核心,是它把当前页面的数据源(Model)和页面的结构(View)连接在了一起。

当数据源发生变化时,会被ViewModel监听到,VM会根据最新的数据源自动更新页面的结构。

当表单元素的值发生变化时,也会被VM监听到,VM会把变化过后最新的值自动同步到Model数据源中。

1.4 vue的版本

当前,vue 共有3个大版本,其中:

2.x版本的vue是目前企业级项目开发中的主流版本

3.x版本的vue 于 2020-09-19发布,生态还不完善,尚未在企业级项目开发中普及和推广

1.x版本的vue只乎被淘汰,不再建议学习与使用

vue3.x和vue2.x版本的对比:

vue2.x中绝大多数的API与特性,在vue3.x中同样支持。同时,vue3.x中还新增了3.x所特有的功能、并废弃了某些2.x中的旧功能

新增的功能例如:

组合式API、多根节点组件、更好的 TypeScript支持等

废弃的旧功能如下:

过滤器、不再支持$on,$off和$once 实例方法等

[详细的变更信息,请参考官方文档给出的迁移指南](https://v3.vuejs.org/guide/ migration/introduction.html)

2 vue的基本使用

2.1 基本使用步骤

1.导入vue.js的script脚本文件可在官网下载

2.在页面中声明一个将要被vue所控制的DOM区域

3.创建vm对象(vue的实例对象)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 要Vue控制的区域 -->
    <div id="app"> {{ username }} </div>
    <!-- 导入vue -->
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script>
        // 创建vue的实例对象
        const vm = new Vue({
            // el属性是固定写法,表示当前vm实例要控制页面上的哪个区域,接收值是一个选择器
            el: '#app',
            // data对象就是要渲染到页面上的数据
            data: {
                username: '张三'
            }
        })
    </script>
</body>
</html>

2.2 基本代码与MVVM的对应关系

2.3 Vue的调试工具

vue-devtools

vue官方提供的调试工具,能够方便开发者对vue项目进行调试与开发。

vue-devtools官网

Vue.js devtools - Crx4Chrome插件下载

Microsoft Edge 浏览器中 Vue.js devtools 插件安装与使用 …

GitHub - vuejs/devtools: ⚙️ Browser devtools extension …

Vue2和Vue3的浏览器调试工具不能交叉使用,即Vue2调试工具只能用于Vue2的调试,Vue3的调试工具只能用于Vue3的调试。

Vue2调试工具:

Vue3调试工具:

记得设置这两个:

3 Vue的指令

3.1 指令的概念

指令是Vue为开发者提供的模板语法,用于辅助开发者渲染页面的基本结构。

3.2 指令的分类

指令按照不同的用途可以分为如下6大类:

1.内容渲染指令

2.属性绑定指令

3.事件绑定指令

4.双向绑定指令

5.条件渲染指令

6.列表渲染指令

3.3 内容渲染指令

内容渲染指令是用来辅助开发者渲染DOM元素中的文本内容。

3.3.1常用的内容渲染指令:

1.v-text

2.{{ }}

3.v-html

3.3.2 v-text

用法示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <!-- 要渲染的DOM -->
        <p v-text="username"></p>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script>
        const vm = new Vue({
            el: '#app',
            // 要渲染的数据
            data: {
                username: '张三'
            }
        })
    </script>
</body>
</html>

v-text的缺点:会覆盖元素内部原有的内容

相关文章
|
12天前
|
缓存 JavaScript 前端开发
vue学习第四章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中计算属性的基本与复杂使用、setter/getter、与methods的对比及与侦听器的总结。如果你觉得有用,请关注我,将持续更新更多优质内容!🎉🎉🎉
28 1
vue学习第四章
|
12天前
|
JavaScript 前端开发
vue学习第九章(v-model)
欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript与Vue的大一学生,自学前端2年半,正向全栈进发。此篇介绍v-model在不同表单元素中的应用及修饰符的使用,希望能对你有所帮助。关注我,持续更新中!🎉🎉🎉
25 1
vue学习第九章(v-model)
|
12天前
|
JavaScript 前端开发 开发者
vue学习第十章(组件开发)
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。本文深入讲解Vue组件的基本使用、全局与局部组件、父子组件通信及数据传递等内容,适合前端开发者学习参考。持续更新中,期待您的关注!🎉🎉🎉
27 1
vue学习第十章(组件开发)
|
18天前
|
JavaScript 前端开发
如何在 Vue 项目中配置 Tree Shaking?
通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。
|
18天前
|
存储 缓存 JavaScript
在 Vue 中使用 computed 和 watch 时,性能问题探讨
本文探讨了在 Vue.js 中使用 computed 计算属性和 watch 监听器时可能遇到的性能问题,并提供了优化建议,帮助开发者提高应用性能。
|
18天前
|
存储 缓存 JavaScript
如何在大型 Vue 应用中有效地管理计算属性和侦听器
在大型 Vue 应用中,合理管理计算属性和侦听器是优化性能和维护性的关键。本文介绍了如何通过模块化、状态管理和避免冗余计算等方法,有效提升应用的响应性和可维护性。
|
18天前
|
存储 缓存 JavaScript
Vue 中 computed 和 watch 的差异
Vue 中的 `computed` 和 `watch` 都用于处理数据变化,但使用场景不同。`computed` 用于计算属性,依赖于其他数据自动更新;`watch` 用于监听数据变化,执行异步或复杂操作。
|
17天前
|
JavaScript 前端开发 UED
vue学习第二章
欢迎来到我的博客!我是一名自学了2年半前端的大一学生,熟悉JavaScript与Vue,目前正在向全栈方向发展。如果你从我的博客中有所收获,欢迎关注我,我将持续更新更多优质文章。你的支持是我最大的动力!🎉🎉🎉
26 3
|
19天前
|
存储 JavaScript 开发者
Vue 组件间通信的最佳实践
本文总结了 Vue.js 中组件间通信的多种方法,包括 props、事件、Vuex 状态管理等,帮助开发者选择最适合项目需求的通信方式,提高开发效率和代码可维护性。
|
17天前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。自学前端2年半,熟悉JavaScript与Vue,正向全栈方向发展。博客内容涵盖Vue基础、列表展示及计数器案例等,希望能对你有所帮助。关注我,持续更新中!🎉🎉🎉
36 2