Vue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式。本文旨在帮助大家认识Vue.js,了解Vue.js的开发流程,并进一步理解如何通过Vue.js来构建一个中大型的前端项目,同时做好相应的部署与优化工作。

文章将以PPT图片附加文字介绍的形式展开,不会涉及知识点的具体代码,点到为止。有兴趣的同学可以查看相应的文档进行了解。

vue.js简介

从上图的介绍中我们不难发现Vue.js是一款轻量级的以数据驱动的前端JS框架,其和jQuery最大的不同点在于jQuery通过操作DOM来改变页面的显示,而Vue通过操作数据来实现页面的更新与展示。下面便是Vue数据驱动的概念模型:


Vue.js主要负责的是上图绿色正方体ViewModel的部分,其在View层(即DOM层)与Model层(即JS逻辑层)之间通过ViewModel绑定了DOM Listeners与Data Bingings两个相当于监听器的东西。

当View层的视图发生改变时,Vue会通过DOM Listeners来监听并改变Model层的数据。相反,当Model层的数据发生改变时,其也会通过Data Bingings来监听并改变View层的展示。这样便实现了一个双向数据绑定的功能,也是Vue.js数据驱动的原理所在。

VUE实例

在一个html文件中,我们直接可以通过script标签引入Vue.js,然后就可以在页面里写Vue.js代码了。上图中我们通过new Vue()构建了一个Vue的实例,在实例中,可以包含挂在元素(el),数据(data),模板(template),方法(methods)与生命周期钩子(created等)等选项。不同的实例选项拥有不同的功能,如:

(1)el表明我们的Vue需要操作哪一个元素下的区域,’#demo’表示操作iddemo的元素下区域。

(2)data表示Vue 实例的数据对象,data 的属性能够响应数据的变化。

(3)created表示实例生命周期中创建完成的那一步,当实例已经创建完成之后将调用其方法。

Vue常用指令


在Vue项目的开发中,我们使用的最多的应该就属Vue的指令了。通过Vue提供的常用指令,我们可以淋漓尽致地发挥Vue数据驱动的强大功能。以下便是图中常用指令的简单介绍:

(1)v-text: 用于更新绑定元素中的内容,类似于jQuery的text()方法

(2)v-html: 用于更新绑定元素中的html内容,类似于jQuery的html()方法

(3)v-if: 用于根据表达式的值的真假条件渲染元素,如果上图P3为false则不会渲染P标签

(4)v-show: 用于根据表达式的值的真假条件显示隐藏元素,切换元素的 display CSS 属性

(5)v-for: 用于遍历数据渲染元素或模板,如图中P6为[1,2,3]则会渲染3个P标签,内容依次为1,2,3

(6)v-on: 用于在元素上绑定事件,图中在P标签上绑定了showP3的点击事件

VUE.js技术栈


以上我们讲到可以直接在一个html页面里通过引入Vue.js来直接写Vue代码,但是这样的方式并不常用。因为如果我们的项目比较大,项目中会存在很多页面,一旦每个页面都引入一个Vue.js或者声明一个Vue实例,这样非常不利于后期的维护和代码的公用,也会存在实例名冲突的情况,所以我们需要用到Vue提供的技术栈来构建强大的前端项目。

除了Vue.js我们还需要用到:

(1)vue-cli:Vue的脚手架工具,用于自动生成Vue项目的目录及文件。

(2)vue-router: Vue提供的前端路由工具,利用其我们实现页面的路由控制,局部刷新及按需加载,构建单页应用,实现前后端分离。

(3)vuex:Vue提供的状态管理工具,用于同一管理我们项目中各种数据的交互和重用,存储我们需要用到数据对象。

(4)ES6:Javascript的新版本,ECMAScript6的简称。利用ES6我们可以简化我们的JS代码,同时利用其提供的强大功能来快速实现JS逻辑。

(5)NPM:node.js的包管理工具,用于同一管理我们前端项目中需要用到的包、插件、工具、命令等,便于开发和维护。

(6)webpack:一款强大的文件打包工具,可以将我们的前端项目文件同一打包压缩至js中,并且可以通过vue-loader等加载器实现语法转化与加载。

(7)Babel:一款将ES6代码转化为浏览器兼容的ES5代码的插件

利用以上等技术,我们便可以开始构建我们的Vue项目了。

构建大型应用


在构建我们的中大型Vue项目中,我们主要介绍如何利用vue-cli来自动生成我们项目的前端目录及文件,了解Vue中一切皆组件的概念及父子组件的通信问题,讲解在Vue项目中我们如何使用第三方插件,最后利用webpack来打包及部署我们的项目。

vue-cli构建


在使用vue-cli之前我们需要安装node.js,利用其提供的npm命令来安装vue-cli。安装node.js只需去其官网下载软件并安装即可,地址为:https://nodejs.org/en/
安装完成之后我们打开电脑的cmd命令行工具依次输入上图中的命令:

(1)npm install -g vue-cli:全局安装vue-cli

(2)vue init webpack my-project: 利用vue-cli在目录地址生成一个基于webpack的名为’my-project‘的Vue项目文件及目录

(3)cd my-project:打开刚刚创建的文件夹

(4)npm intall:安装项目所依赖的包文件

(5)npm run dev:利用本地node服务器在浏览器中打开并浏览项目页面

这样我们的一个基于webpack的vue项目目录就构建好了。

单文件组件

前端开发之走进Vue.js(入门者看过来)相关推荐

  1. 前端开发之走进Vue.js

    Vue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式.本文旨在帮助大家认识Vue.js,了解Vue.js的开发流程,并进一步理解如何通过Vue.j ...

  2. Vue.js高效前端开发 • 【初识Vue.js】

    全部章节 >>>> 文章目录 一.Vue概述 1.Web前端框架介绍 2.MVC和MVVM 3.Vue介绍 4.安装Vue 二.Vue使用 1.第一个Vue应用 2.Vue的双 ...

  3. vue设置cookie的domain无效_【Vue.js入门到实战教程】16Tailwind 与 Bootstrap 的区别和使用入门...

    来源 | https://xueyuanjun.com/post/22065我们知道,从 Laravel 8 开始,自带前端脚手架代码默认兼容 Tailwind CSS 框架,取代了之前的 Boots ...

  4. 前端开发技术:HTML5 JS 前端开发主要功能!

    HTML5广义上讲是前端开发学科的代名词,包含HTML5.CSS3及JavaScript三个重要的部分,是运行在浏览器上应用的统称.如PC端网站.管理系统.手机网页应用(WebApps).混合应用(H ...

  5. 走进Vue.js 1.0-姜威-专题视频课程

    走进Vue.js 1.0-16818人已学习 课程介绍         Vue.js是一个用来开发web界面的前端框架,小巧的外表,不失优雅的代码结构.全新的MVVM理念.以及不乏工匠精神的周边工具. ...

  6. 【哈士奇赠书活动 - 24期】-〖前端工程化:基于Vue.js 3.0的设计与实践〗

    文章目录 ⭐️ 赠书 - <前端工程化:基于Vue.js 3.0的设计与实践> ⭐️ 内容简介 ⭐️ 作者简介 ⭐️ 精彩书评 ⭐️ 赠书活动 → 获奖名单 ⭐️ 赠书 - <前端工 ...

  7. Vue.js入门教程(适合初学者)

    Vue.js入门教程 Vue官网网址:Vue.js 中文网 Vue.js Vue.js是渐进式JavaScript 框架,是一套构建用户界面的渐进式框架.也可以说Vue.js 是一个用来构建网页界面的 ...

  8. js模板字符串自定义类名_【Vue.js 入门到实战教程】07Vue 组件注册 | 基本使用和组件嵌套...

    来源 | https://xueyuanjun.com/post/21929除了前面介绍的基本语法之外,Vue.js 还支持通过组件构建复杂的功能模块,组件可以称得上是 Vue.js 的灵魂,是 Vu ...

  9. 前端开发工程师(VUE框架)招聘

    前端开发工程师(VUE框架) 岗位职责: 1.熟练运用HTML/JS/CSS等前端技术,精通JavaScript.Ajax.DOM.html.css等前端技术 2.熟练使用VUE前端框架,理解VUE框 ...

最新文章

  1. 【Smart_Point】动态内存与智能指针实战:文本查询程序(设计set,map,智能指针的应用)
  2. Microsoft Visual Studio 2005 简体中文专业版(DVD)下载地址
  3. 脆弱的Scrum,敏捷在哪里?
  4. gbk文件转为utf8文件
  5. 滴水穿石-05数组排序
  6. 在虚拟机上装win2003 server心得体会
  7. MyEclipse10 中设置Jquery提醒,亲测可用
  8. 【Linux】 C++编程(vim)
  9. Android 使用URLConnection来post数据
  10. DAVIS Driving Dataset 2020 (DDD20) 【转载】
  11. 从零搭建飞冰微前端项目《第三篇:搭建微应用》❤️
  12. What kind of new area will CFun and creation form?
  13. 在delphi 获取特殊目录 SHGetSpecialFolderLocation SHGetPathFromIDList
  14. 大疆 L1 任务文件格式说明(CLC/CLI/CMI/IMU/LDR/MNF/RTB/RTK/RTL/RTS/JPG/MOV)
  15. ant build.xml 配置详解
  16. 小程序钉钉语音录入组件
  17. 原生JavaScript类型判断
  18. 图像分类,看我就够啦!
  19. linux系统一直循环登录界面,Ubuntu卡在登陆界面无限循环的问题
  20. QT的Listwidget控件使用

热门文章

  1. 『可道云』内网穿透牛刀小试,会敲键盘就能搭建的私有云网盘
  2. python 智能识别 商品_python人工智能-图像识别
  3. 背包型动态规划——零钱兑换
  4. 【ChatGPT整活大赏】写论文后自动生成视频
  5. 一些常用模块的测试用例
  6. 联想拯救者笔记本U盘重装win10系统教学
  7. 显卡mx150和230哪个好_MX250和MX150哪个好 MX250和MX150显卡对比全方位评测[多图]
  8. cadence设计软件安装
  9. 李飞飞高徒盘点年度十大AI亮点:核聚变、ChatGPT、AlphaFold上榜
  10. 图像处理之3d算法----2d转3d算法介绍