【Vue】快速入门

简介: 【Vue】快速入门

一、前言


大家好,我是初心,本文主要讲解前端系列之Vue框架入门。

文章收录到我是初心的博客【Vue框架系列】专栏,此专栏是初心对Vue框架的学习笔记,希望能够加深自己的印象,以及帮助到大家😉😉。

作者水平有限,不足之处,还请大佬不吝赐教👏👏。


二、Vue简介


2.1 vue是什么


Vue是一套用于构建用户界面的渐进式Javascript框架。


渐进式 Vue可以自底向上逐层的应用
简单应用 只需引入一个轻量小巧的核心库
复杂应用 可以引入各式各样的Vue插件


它提供了一套开发规则,按照这个开发规则可提高开发效率。Vue的核心有三点:

(1)数据视图双向绑定

修改绑定的数据(页面上依赖数据),就能对应的更新视图(页面),极大的解放了操作dom的工作,提供开发效率。

(2)MVVM模式

  • M  数据模型(model)
  • V  视图(页面)(view)
  • VM 数据模型和视图的控制器 (viewmodel)

(3)组件化开发

 

按照Vue的规则,它把页面按照页面功能(导航,侧边栏,下拉框)拆分业务,每一个组件时一个独立的功能,提供代码可维护性,和复用性。

 


image.png

2.2 谁开发的


Vue.js 作者尤雨溪:开源给了我无价的自由


尤雨溪(Evan You),前端框架 Vue.js 作者,独立开源开发者,现居美国新泽西。曾就职于 Google Creative Labs 和 Meteor Development Group。由于工作中大量接触开源的 Java 项目,最后自己也走上了开源之路,现在全职开发和维护 Vue.js。


现在的 Vue 跟运行初期相比,最大的区别就是框架涵盖的范围变大了许多。


一开始 Vue 只有一个核心库,现在则是包含了路由、状态管理、CLI 工具链、浏览器开发者插件、ESLint 插件等等的全套设施。目前只有核心库依然由尤雨溪维护,其它子项目基本都交给团队成员去做日常维护了。


image.png


对作者尤雨溪的采访——Vue 给您带来的最大的收获是什么?


可以这么说,我用键盘敲出了 Vue,而 Vue 把自由和真实的本我馈赠给了我,现在的我很清晰的明白自己在做什么,我想要的 Vue 是什么样的,我能跟随自己内心的指引去开发出 Vue 更多的新功能,我现在根本无法想象再回到大公司去工作的那种情境。  


2.3 Vue的特点


1.采用组件化模式,提高代码复用率,且让代码更好维护。


所谓组件化,就是把页面拆分成多个组件,每个组件依赖的 CSS、JS、模板、图片等资源放在一起开发和维护。 因为组件是资源独立的,所以组件在系统内部可复用,组件和组件之间可以嵌套,如果项目比较复杂,可以极大简化代码量,并且对后期的需求变更和维护也更加友好。


image.png



2.声明式编码,让编码人员无需直接操作DOM,提高开发效率。


也称作声明式渲染。它描述目标性质,让计算机明白目标,而非流程。声明式编程不用告诉电脑问题领域,从而避免随之而来的副作用。而指令式编程专则需要用算法来明确的指出每一步该怎么做。命令式编码:有点像过程化编程;声明式编码:有点像面向对象编程。


image.png


三、搭建Vue开发环境


在我们的引入了Vue的HTML文件中,在浏览器打开控制台,我们可以看到一下两行提示信息。意思分别是:下载Vue的开发者工具以获得更好的开发经历;你正在运行Vue的开发模式,当你在开发产品时确保切换到生产模式,在Vue官网查看更多的技巧。


如果不想每次打开控制台都看到它们,如何取消呢?


image.png


3.1 安装Vue Devtools


下面演示如何取消第一行。首先就像提示中写的,我们需要去下载Vue Devtools工具,下载下来的文件名称叫 Vue.crx ,这个工具的下载链接就在这个提示下面,访问Github可以下载!


下载好Vue.crx之后,如果是Edge浏览器,点击浏览器右上角三个点,点击扩展,管理扩展,将Vue.crx文件拖入到浏览器,添加扩展即可。chrome浏览器也是类似的添加扩展。此时再次刷新浏览器页面,会发现控制台第一行的提示信息已经消失了。  

image.png


3.2 关闭开发模式提示信息


下面演示如何取消第二行。提示信息出现的缘由是:我们使用的Vue是开发版本(Vue.js),而不是生产版本(Vue.min.js),Vue善意的提示我们,如果我们是在生产环境中,建议我们不要使用开发版本,因为它的体积比较大一些。


那么我们如何去关闭这个提示信息呢?在js代码中添加下面这一行代码即可。

Vue.config.productionTip = false

image.png


3.3 遇到的问题


1.Vue.js not detected(Vue未装载)

问题背景:当我们把Vue.crx文件添加到浏览器之后,控制台的第一行提示信息并没有消失。

解决方案:点击浏览器中的管理扩展,将图示中的允许访问文件URL打开,就可以了!


image.png


2.Vue.config.productionTip = false 不起作用


问题背景:添加下面这一行代码后,第二行提示信息并没有消失。


解决方案:直接修改vue.js文件的源码,应该在370行左右,由True修改为False即可。

Vue.config.productionTip = false


四、HelloWorld小实例


4.1 案例制作

1.live server插件


在进行HelloWorld小实例制作之前,我们先安装一款插件---live server。这款插件是一个具有实时加载功能的小型服务器,我们可以在项目中实时用live-server作为一个实时服务器实时查看开发的网页或项目效果。下面在VsCode中安装live server插件。

image.png


我们就可以在VSCode中,右击代码区域,选择Open With Live Server。在浏览器我们可以查看 http://localhost:5500这个网页,网页相当于一个文件系统,根目录就是我们VsCode中的文件夹目录。


我们可以将 favcion.ico文件添加到文件目录中。 favcion.ico用于收藏夹图标和浏览器标签上的显示,如果不设置,浏览器会请求网站根目录的这个图标,如果网站根目录也没有这图标会产生 404。


image.png


在浏览器中,按住Shift和页面上的刷新,就可以强制刷新,从而看到我们的网页图标。这样有没有更美观或者更符合实际一点呢。


image.png


2.Hello World---Vue


使用VsCode开发工具,新建HTML文件,并引入vue.js。

在 body 中准备一个容器,作为Vue实例的模板,并创建Vue实例。使用Vue进行数据绑定,取data中的数据使用的是插值表达式{{}},当文件保存后,不用刷新浏览器即可改变数据。

下面的例子就是从Vue的data区域获取数据,展示在容器中的一级标题标签上。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<div id="root">
    <!-- 从root容器对应的vue实例中的data区域获取数据 -->
    <h1>Hello,{{name}}</h1>
</div>
<body>
    <script src="../js/vue.js"></script>
    <script>
        const x = new Vue({ // Vue构造函数的参数是一个配置对象
            el: "#root", // el用于指定Vue实例为哪个容器服务,值通常为CSS选择器
            data: { // data用于存储数据,供el指定的容器使用
                name: "小郭",
            }
        })
    </script>
</body>
</html>


4.2 案例分析


1.容器和Vue实例之间是一一对应的关系


每个实例只能被一个容器接管,如果有多个容器,那么只有第一个容器能够使用Vue实例中的数据;如果有多个实例,只有第一个实例起作用。


image.png


image.png


两个容器对应一个Vue实例:前一个容器有Vue实例解析,后一个没有。



image.png


image.png



一个容器对应多个Vue实例:容器可以获得到第一个实例,第二个实例不起作用。


2.真实开发中只会有一个Vue实例,Vue实例中有多个小组件


假设容器中有100个、1000个动态数据,那么Vue实例中的data中可能就要写1000个变量,代码会变得非常冗长。所以在将来的企业开发中,一个Vue实例中可能有三个小实例,分别绑定40,40,20个数据,这就是简单理解的Vue组件化思想


3.插值表达式{{}}内可以写什么


类型 详细
data内的数据 Vue实例的data中定义的变量都可以使用
表达式(能产生一个确定的值) 运算表达式(1+1),函数调用表达式( fun(1),str.toString() ),三目运算符
不能是语句 如 if 语句,for 语句


4.data中的数据发生变化,模板中用到的地方会自动发生变化


使用上面3.2.2点Hello World---Vue中的代码和结果进行验证,通过在浏览器的Vue-devtools更改data中的数据,观察页面中数据的变化。

image.png

5.开发时要引用开发版本的Vue,不要使用生产版本的Vue


通过一个小的错误,来演示Vue.js和Vue.min.js的有错误提示和无错误提示。使用开发版本时出现“警告”,控制台会有相对应的提示,而生产版本则不会有任何提示。


控制台报错:Vue is a constructor and should be called with the `new` keyword

image.png

换成生产版本的Vue.min.js,控制台报错变少,让我们更难发现错误:

image.png

1. Vue.js(完整版)


  • 优点:逻辑清晰简单,好写好用。
  • 缺点
  1. 开发需要额外配置版本引用
  2. 代码体积较非完整版大30%,用户体验较差
  3. 视图模板写在HTML/template里,代码量大的时候显得冗余


2. Vue.min.js非完整版


  • 缺点:对初级开发者可能不友好
  • 优点
  1. 代码体积较小,提升用户体验
  2. 不需要解析器,webpack等配置有vue loader,vue loader的作用是在代码打包的时候调用compiler自动解析编译


五、结语


Vue快速入门步骤为:


新建HTML文件,引入Vue.js

使用 div 标签创建模板(容器)

创建Vue实例,指定对应的容器和 data 数据

将容器和实例相互绑定实现视图数据转化


我是初心,文章首发于csdn,你的支持就是创作的最大动力。

💕💕💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨

🍻🍻🍻如果本文对你学习有帮助,就不要吝惜你的一键三连了~


cd4b9ab692104831830695e2b4b148c9.gif


相关文章
|
16天前
|
JavaScript
Vue中如何实现兄弟组件之间的通信
在Vue中,兄弟组件可通过父组件中转、事件总线、Vuex/Pinia或provide/inject实现通信。小型项目推荐父组件中转或事件总线,大型项目建议使用Pinia等状态管理工具,确保数据流清晰可控,避免内存泄漏。
136 2
|
4月前
|
人工智能 JavaScript 算法
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
573 0
|
4月前
|
JavaScript UED
用组件懒加载优化Vue应用性能
用组件懒加载优化Vue应用性能
|
3月前
|
JavaScript 安全
在 Vue 中,如何在回调函数中正确使用 this?
在 Vue 中,如何在回调函数中正确使用 this?
111 0
|
3月前
|
人工智能 JSON JavaScript
VTJ.PRO 首发 MasterGo 设计智能识别引擎,秒级生成 Vue 代码
VTJ.PRO发布「AI MasterGo设计稿识别引擎」,成为全球首个支持解析MasterGo原生JSON文件并自动生成Vue组件的AI工具。通过双引擎架构,实现设计到代码全流程自动化,效率提升300%,助力企业降本增效,引领“设计即生产”新时代。
246 1
|
4月前
|
JavaScript 前端开发 开发者
Vue 自定义进度条组件封装及使用方法详解
这是一篇关于自定义进度条组件的使用指南和开发文档。文章详细介绍了如何在Vue项目中引入、注册并使用该组件,包括基础与高级示例。组件支持分段配置(如颜色、文本)、动画效果及超出进度提示等功能。同时提供了完整的代码实现,支持全局注册,并提出了优化建议,如主题支持、响应式设计等,帮助开发者更灵活地集成和定制进度条组件。资源链接已提供,适合前端开发者参考学习。
377 17
|
4月前
|
JavaScript 前端开发 UED
Vue 表情包输入组件实现代码及详细开发流程解析
这是一篇关于 Vue 表情包输入组件的使用方法与封装指南的文章。通过安装依赖、全局注册和局部使用,可以快速集成表情包功能到 Vue 项目中。文章还详细介绍了组件的封装实现、高级配置(如自定义表情列表、主题定制、动画效果和懒加载)以及完整集成示例。开发者可根据需求扩展功能,例如 GIF 搜索或自定义表情上传,提升用户体验。资源链接提供进一步学习材料。
213 1
|
4月前
|
JavaScript API 开发者
Vue框架中常见指令的应用概述。
通过以上的详细解析,你应该已经初窥Vue.js的指令的威力了。它们是Vue声明式编程模型的核心之一,无论是构建简单的静态网站还是复杂的单页面应用,你都会经常用到。记住,尽管Vue提供了大量预定义的指令,你还可以创建自定义指令以满足特定的需求。为你的Vue应用程序加上这些功能增强器,让编码变得更轻松、更愉快吧!
73 1
|
4月前
|
存储 JavaScript 前端开发
如何高效实现 vue 文件批量下载及相关操作技巧
在Vue项目中,实现文件批量下载是常见需求。例如文档管理系统或图片库应用中,用户可能需要一次性下载多个文件。本文介绍了三种技术方案:1) 使用`file-saver`和`jszip`插件在前端打包文件为ZIP并下载;2) 借助后端接口完成文件压缩与传输;3) 使用`StreamSaver`解决大文件下载问题。同时,通过在线教育平台的实例详细说明了前后端的具体实现步骤,帮助开发者根据项目需求选择合适方案。
320 0
|
4月前
|
JavaScript 前端开发 UED
Vue 项目中如何自定义实用的进度条组件
本文介绍了如何使用Vue.js创建一个灵活多样的自定义进度条组件。该组件可接受进度段数据数组作为输入,动态渲染进度段,支持动画效果和内容展示。当进度超出总长时,超出部分将以红色填充。文章详细描述了组件的设计目标、实现步骤(包括props定义、宽度计算、模板渲染、动画处理及超出部分的显示),并提供了使用示例。通过此组件,开发者可根据项目需求灵活展示进度情况,优化用户体验。资源地址:[https://pan.quark.cn/s/35324205c62b](https://pan.quark.cn/s/35324205c62b)。
141 0

热门文章

最新文章