iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Vue.js高效前端开发源码分析
  • 751
分享到

Vue.js高效前端开发源码分析

2023-07-05 15:07:28 751人浏览 安东尼
摘要

这篇“vue.js高效前端开发源码分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue.js高效前端开发源码分析”文章吧

这篇“vue.js高效前端开发源码分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue.js高效前端开发源码分析”文章吧。

一、Vue概述

1、web前端框架介绍

近几年,互联网前端行业发展得依旧迅猛,涌现出了很多优秀的javascript框架,同时这些JavaScript框架也正在逐渐改变统的前端开发方式。

在这些新出现的JavaScript框架中,最具代表性的框架有angular.js、React.js和Vue.js。

2、mvc和MVVM

MVC是著名的设计模式,基本思想是将软件结构分解为Model(模型)、View(视图)和Controller(控制器)三部分组成。

  • Model:主要负责数据处理和运算。

  • Controller:主要负责接收输入的数据并控制选择使用哪个View显示。

  • View:主要负责显示数据和用户交互。

Vue.js高效前端开发源码分析

MVVM设计模式是由Model(模型)、View(视图)和ViewModel(视图模型)三部分组成,是MVC设计模式的进化版,即Controller转变为ViewModel。

这种模式可以使View的变化自动化更新到ViewModel,而ViewModel的变化也会自动同步到View上显示。

Vue.js高效前端开发源码分析

3、Vue介绍

Vue是构建WEB界面的JavaScript库,原称为Vue.js,它可以通过简洁的api来提供高效的数据绑定和灵活的组件系统。它提供了现代web开发中常用的高级功能,

比如:

  • 解耦视图和数据。

  • 可复用的组件。

  • 数据绑定。

  • 功能插件化。

  • 虚拟DOM(Virtual DOM)。

4、安装Vue

使用Vue之前先安装vue.js,有两种方式安装Vue.js。

安装独立版本

<script src=“js/vue.min.js"></script>

使用CDN引入

<script src="https://cdn.bootCSS.com/vue/2.6.10/vue.min.js"></script>

二、Vue使用

1、第一个Vue应用

使用Vue的过程就是定义MVVM各个组成部分的过程,其过程步骤如下

定义View :

<!--这是View--><div id="app">{{ message }}</div>

定义Model

// 这是Modelvar exampleData = {message: "Hello World! "};

创建一个Vue实例或ViewModel,它用于连接View和Model。

// 创建一个Vue实例或ViewModel,它连接View与 Modelvar vm=new Vue({el: '#app',data: exampleData});

Vue.js高效前端开发源码分析

 2、Vue的双向绑定

在Vue.js中,ViewModel、View以及Model进行交互的方式,如下图所示

Vue.js高效前端开发源码分析

 在Vue.js中可以使用v-model指令在表单元素上创建双向数据绑定

示例:

html代码:

<!--这是View--><div id="app">    <p>{{ message }}</p>    <input type="text" v-model="message"/>    </div>

JavaScript代码:

// 这是Modelvar exampleData = {    message: "Hello World!"};// 创建一个Vue实例var vm=new Vue({    el: '#app',    data: exampleData});

v-model双向绑定

Vue.js高效前端开发源码分析

当更改文本框的值时,

{{ message }}

中的内容也会被更新

3、实践练习

三、Vue生命周期

1、Vue的实例和数据

Vue应用的创建很简单,语法如下面代码所示

语法:

var vm=new Vue({// 选项参数});

通过构造函数Vue就可以创建一个Vue的根实例,并启动Vue应用

常用的选项参数包含如下:

选项参数说明
el提供一个在页面上已存在的DOM元素作为Vue实例的挂载目标
dataVue实例的数据对象。Vue将会递归将data的属性转换为getter/setter,从而让data的属性能够响应数据变化
methodsVue实例的方法集合,可以在Vue直接调用或将方法绑定到DOM元素的事件上
computedVue实例的计算属性集合
watch观察Vue实例变化的一个表达式或计算属性函数
components包含Vue实例可用组件的哈希表
filters包含Vue实例可用过滤器的哈希表
template定义字符串模板作为Vue实例的标识使用

示例: 通过Vue实例的data选项,可以声明应用内需要双向绑定的数据。

也可以将所有会用到的数据都预先在data内声明,这样不至于将数据散落在业务逻辑中,难以维护

HTML代码:

<div id="app"></div>

当挂载成功后,就可以通过vm.$el来访问该元素

 JavaScript 代码:

var vm=new Vue({    el:document.getElementById("app")  // 或者是#app});

示例: 通过Vue实例的data选项,可以声明应用内需要双向绑定的数据。也可以将所有会用到的数据都预先在data内声明,这样不至于将数据散落在业务逻辑中

HTML代码:

<div id="app"></div>

所有会用到的数据预先在data内声明

 JavaScript代码:

var vm=new Vue({  el:"#app",  data:{      title:"",      user:{        name:"",        age:0      }  }});

示例:

在Vue实例内部访问data中的数据时一般使用“this.数据”的方式,如果在Vue实例外部访问data中的数据时,使用Vue实例对象来访问

JavaScript代码:

var vm=new Vue({//…data代码同上例 methods:{    doSave:function(){      console.log("姓名:",this.user.name)    }  }});var vm=new Vue({//…data代码同上例});// 在Vue实例外部访问data中的数据console.log(vm.user.name);

在实例外部,使用实例对象的方式访问

2、Vue生命周期钩子函数

Vue实例有一个完整的生命周期,也就是从开始创建、初始化数据、编译模板、挂载Dom、渲染、更新、渲染到销毁等一系列过程,称为Vue的生命周期。

通俗说Vue实例从创建到销毁的过程,就是它的生命周期。

Vue.js高效前端开发源码分析

每个Vue实例创建时,都会经历一些系列的初始化过程,同时也会调用相应的生命周期函数,这些生命周期函数称为“钩子函数”

开发者可以利用这些钩子函数,在合适的时机执行相关业务逻辑代码。在Vue实例的生命周期,钩子比较常用的函数有:

  • created()函数:实例建立完成后调用

  • mounted()函数:el挂载到实例上后调用

  • beforeDestroy()函数:实例销毁之前调用

 示例: 下面示例中,在created()钩子函数中对模型加载数据,而在mounted()函数中读取el绑定的元素的信息。

HTML代码:

<div id="app">  <h2>{{ title }}</h2></div>

JavaScript代码:

created:function() {  this.title="生命周期钩子函数";  console.log("created()钩子函数执行...");}mounted:function() {  console.log(this.$el);  console.log("模型title的值:",this.title);  console.log("mounted()钩子函数执行...");}

Vue.js高效前端开发源码分析

3、实践练习

四、过滤器

过滤器使用

Vue.js支持在{{}}的插值的尾部添加一个管道符(“|”)对数据进行过滤

创建过滤器有两种方式:

  • 全局创建过滤器

  • 局部创建过滤器

 语法:

//创建全局过滤器Vue.filter("过滤器名",function(val){  过滤语句});
//创建局部过滤器var vm = new Vue({  el: "#app",  filters:{    过滤器名:function(val){      过滤语句    }  }});
<div id="app">    {{ 模型数据 | 过滤器 }}</div>

示例: 使用过滤器实现将英文单词转换为首字母大写显示。

HTML代码:

<div id="app">  <div class="banner">    {{ text | tranfORMFilter }}  </div></div>

JavaScript代码:

Vue.js高效前端开发源码分析

以上就是关于“Vue.js高效前端开发源码分析”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: Vue.js高效前端开发源码分析

本文链接: https://www.lsjlt.com/news/352562.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue.js高效前端开发源码分析
    这篇“Vue.js高效前端开发源码分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue.js高效前端开发源码分析”文章吧...
    99+
    2023-07-05
  • Vue.js高效前端开发
    目录一、Vue概述1、Web前端框架介绍2、MVC和MVVM3、Vue介绍4、安装Vue二、Vue使用1、第一个Vue应用 2、Vue的双向绑定3、实践练习三、Vue生命周...
    99+
    2023-03-22
    Vue 前端开发 Vue双向绑定 Vue生命周期
  • Vue.js + Sass:提高您的前端开发技能
    随着前端开发的飞速发展,掌握 Vue.js 和 Sass 等尖端技术至关重要。本文将详细探讨如何利用这些工具提高您的前端开发技能,帮助您构建高效且美观的 веб-应用程序。 1. Vue.js:强大的前端框架 Vue.js 是一个轻量级、...
    99+
    2024-02-17
    Vue.js Sass 前端开发 CSS预处理器 样式化
  • Vue.js轻量高效前端组件化方案的示例分析
    这篇文章给大家分享的是有关Vue.js轻量高效前端组件化方案的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。开发初衷2013年末,我还在Google Creative L...
    99+
    2024-04-02
  • ChatGPT前端编程源码分析
    本篇内容主要讲解“ChatGPT前端编程源码分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ChatGPT前端编程源码分析”吧!TDD第一步就卡住了程序运行视图:带着TDD思路,我进入了 ej...
    99+
    2023-07-05
  • Vue.js React与Angular流行前端框架优势源码对比分析
    这篇文章主要介绍“Vue.js React与Angular流行前端框架优势源码对比分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue.js React与Angular流行前...
    99+
    2023-07-05
  • React前端开发createElement源码解读
    目录React 与 Babel元素标签转译组件转译子元素转译createElement源码函数入参第一段代码 __self 和 __source第二段代码 props 对象第三段代码...
    99+
    2022-11-13
    React前端createElement React createElement
  • 微前端框架qiankun源码分析
    本文小编为大家详细介绍“微前端框架qiankun源码分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“微前端框架qiankun源码分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、single-spa简介要...
    99+
    2023-07-05
  • npm如何提高前端开发效率?
    NPM(Node Package Manager)是一个用于管理JavaScript包的工具,它可以帮助前端开发者提高开发效率。在本文中,我们将深入探讨如何使用NPM提高前端开发效率。 一、NPM的安装 首先,我们需要安装NPM。NPM是N...
    99+
    2023-09-11
    开发技术 numpy npm
  • Android开发Retrofit源码分析
    目录项目结构retrofit 使用Retrofit #createServiceMethod #parseAnnotationsHttpServiceMethod#parseAnno...
    99+
    2024-04-02
  • 前端开发效率提高的代码规范有哪些
    这篇文章主要讲解了“前端开发效率提高的代码规范有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“前端开发效率提高的代码规范有哪些”吧!常见的命名规则1.大...
    99+
    2024-04-02
  • 分析web前端模块化开发
    这篇文章主要介绍“分析web前端模块化开发”,在日常操作中,相信很多人在分析web前端模块化开发问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”分析web前端模块化开发”的疑惑...
    99+
    2024-04-02
  • Go语言前端开发实践:打造高效前端工程
    标题:Go语言前端开发实践:打造高效前端工程 随着前端开发的迅速发展,越来越多的开发者开始关注如何利用Go语言来提升前端开发的效率和质量。本文将介绍如何利用Go语言进行前端开发,通过示...
    99+
    2024-04-02
  • Vue.js 和 Sass:掌握专业前端开发
    Vue.js Sass 前端开发 Web 应用程序 Vue.js:渐进式 JavaScript 框架 Vue.js 是一种渐进式 JavaScript 框架,它使开发人员能够轻松地构建用户界面。它以其轻量级、灵活性和小巧而著称,使其成...
    99+
    2024-02-17
    掌握 Vue.js Sass 对于现代前端开发至关重要。本文将深入探讨这两种强大的技术 介绍它们的优势 最佳实践和如何结合使用它们来创建高性能 可维护的 Web 应用程序。
  • SpringBootweb开发源码深入分析
    目录一、MVC自动配置1、默认支持的功能2、静态资源与首页相关源码解析3、Rest映射及源码分析4、请求映射原理一、MVC自动配置 1、默认支持的功能 Spring Boot为Spr...
    99+
    2024-04-02
  • web前端怎么高效的与后端协作开发
    本篇内容介绍了“web前端怎么高效的与后端协作开发”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.前后端...
    99+
    2024-04-02
  • 学会利用sessionstorage,提高前端开发效率
    掌握sessionStorage的作用,提升前端开发效率,需要具体代码示例 随着互联网的快速发展,前端开发领域也日新月异。在进行前端开发时,我们经常需要处理大量的数据,并将其存储在浏览器中以便后续使用。而sessionStora...
    99+
    2024-01-15
    效率 前端开发
  • 分析Java前后端分离以及Vue.js入门
    本篇内容介绍了“分析Java前后端分离以及Vue.js入门”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前...
    99+
    2024-04-02
  • 详细聊聊前端Vue.js开发中的坑
    Vue.js是一个非常流行的JavaScript框架,能够帮助开发者快速构建高性能和可维护的Web应用程序。Vue.js框架在使用过程中,有时候会遇到一些“坑”,所谓“坑”,就是一些代码或设计上的难点或者问题。下面我将详细介绍一下前端Vue...
    99+
    2023-05-14
  • Java前后端分离以及Vue.js的示例分析
    这篇文章主要介绍Java前后端分离以及Vue.js的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前后端不分后端模板:Jsp、FreeMarker、Velocity前端模板:...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作