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

简介: Vue.js高效前端开发 • 【初识Vue.js】

一、Vue概述


1、Web前端框架介绍


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

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


47.png


2、MVC和MVVM


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


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

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

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


48.png



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


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


49.png


3、Vue介绍


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


比如:

  • 解耦视图和数据。
  • 可复用的组件。
  • 数据绑定。
  • 功能插件化。
  • 虚拟DOM(Virtual DOM)。


50.png



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


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


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

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


51.png


2、Vue的双向绑定


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


52.png


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

示例:

html代码:

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


JavaScript代码:


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


v-model双向绑定


53.png


当更改文本框的值时,

{{ message }}

中的内容也会被更新


3、实践练习


三、Vue生命周期


1、Vue的实例和数据


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

语法:


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


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

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


54.png


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

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

HTML代码:



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



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

JavaScriput 代码:

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


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

HTML代码:


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


所有会用到的数据预先在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实例从创建到销毁的过程,就是它的生命周期。


55.png


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


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


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

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

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

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


HTML代码:


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


JavaScript代码:


...
created:function() {
  this.title="生命周期钩子函数";
  console.log("created()钩子函数执行...");
}
...


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


56.png


3、实践练习


四、过滤器


1、过滤器使用


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代码:


//…
filters: {
    tranformFilter: function (val) {
      var strs = val.split(' ');
      var result = "";
      for (var i = 0; i < strs.length; i++) {
        result += strs[i].charAt(0).toUpperCase() + strs[i].substring(1) + ' ';
      }
      return result;
    }
  }
//…


57.png


2、实践练习


总结:


Vue是构建Web界面的JavaScript库。 使用Vue的过程就是定义MVVM各个组成部分的过程,其过程步骤如下 定义View。


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


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


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


Vue.js支持在{{}}的插值的尾部添加一个管道符(“|”)对数据进行过滤,经常用于格式化文本,比如字母全部大写、货币千位使用逗号分隔等。


相关文章
|
6月前
|
JavaScript 前端开发 Java
制造业ERP源码,工厂ERP管理系统,前端框架:Vue,后端框架:SpringBoot
这是一套基于SpringBoot+Vue技术栈开发的ERP企业管理系统,采用Java语言与vscode工具。系统涵盖采购/销售、出入库、生产、品质管理等功能,整合客户与供应商数据,支持在线协同和业务全流程管控。同时提供主数据管理、权限控制、工作流审批、报表自定义及打印、在线报表开发和自定义表单功能,助力企业实现高效自动化管理,并通过UniAPP实现移动端支持,满足多场景应用需求。
598 1
|
7月前
|
移动开发 前端开发 JavaScript
Vue与React两大前端框架的主要差异点
以上就是Vue和React的主要差异点,希望对你有所帮助。在选择使用哪一个框架时,需要根据项目的具体需求和团队的技术栈来决定。
438 83
|
7月前
|
JavaScript 前端开发 API
|
8月前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
414 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
6月前
|
JavaScript 前端开发 编译器
Vue与TypeScript:如何实现更强大的前端开发
Vue.js 以其简洁的语法和灵活的架构在前端开发中广受欢迎,而 TypeScript 作为一种静态类型语言,为 JavaScript 提供了强大的类型系统和编译时检查。将 Vue.js 与 TypeScript 结合使用,不仅可以提升代码的可维护性和可扩展性,还能减少运行时错误,提高开发效率。本文将介绍如何在 Vue.js 项目中使用 TypeScript,并通过一些代码示例展示其强大功能。
279 22
|
7月前
|
前端开发 JavaScript 数据可视化
58K star!这个让网页动起来的JS库,前端工程师直呼真香!
Anime.js 是一款轻量级但功能强大的JavaScript动画引擎,它能够以最简单的方式为网页元素添加令人惊艳的动效。这个项目在GitHub上已经获得58,000+星标,被广泛应用于电商页面、数据可视化、游戏开发等场景。
280 8
|
8月前
|
资源调度 JavaScript 前端开发
前端开发必备!Node.js 18.x LTS保姆级安装教程(附国内镜像源配置)
本文详细介绍了Node.js的安装与配置流程,涵盖环境准备、版本选择(推荐LTS版v18.x)、安装步骤(路径设置、组件选择)、环境验证(命令测试、镜像加速)及常见问题解决方法。同时推荐开发工具链,如VS Code、Yarn等,并提供常用全局包安装指南,帮助开发者快速搭建高效稳定的JavaScript开发环境。内容基于官方正版软件,确保合规性与安全性。
7089 23
|
9月前
|
数据采集 JavaScript Android开发
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
369 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
9月前
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
264 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
8月前
|
人工智能 JavaScript 前端开发
Vue 性能革命:揭秘前端优化的终极技巧;Vue优化技巧,解决Vue项目卡顿问题
Vue在处理少量数据和有限dom的情况下技术已经非常成熟了,但现在随着AI时代的到来,海量数据场景会越来越多,Vue优化技巧也是必备技能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~