热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

1Vue基础

Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不

Vue基础


一、什么是Vue


1.1 概念


  • Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式Javascript框架,与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合
    • 所谓渐进式,就是按需分配,用多少,就引入多少,由开发者自行决定
      • 既可以只使用Vue的核心功能,作为一个项目的视图层来应用
      • 也可以使用Vue全家桶开发,实现一个组件化、模块化、工程化的项目
    • Vue全家桶
      • vue-cli
        • vue-cli就是快速建立搭建一个vue项目的脚手架工具
      • vue-router
        • vue-router 是一个官方的路由管理器, 用于实现页面组件之间的跳转
      • vuex
        • vuex 是一个基于vue的状态管理模式,以方便的实现组件之间的数据共享和集中管理
      • axios
        • axios 是一个基于 promise 的 HTTP 库,是vue官方推荐的ajax异步请求工具
      • vant
        • Vant 是一个轻量、可靠的移动端UI组件库, 由有赞前端团队开发并维护
      • element-ui
        • element-ui 是一个基于vue的桌面端UI组件库, 由饿了么前端团队开发并维护
    • Vue中文官网
      • https://cn.vuejs.org/

1.2 特点


  • Vue 体积小,运行效率高,适合于移动/PC端开发

  • Vue简单易学,容易上手

  • Vue借鉴了angular的模板和数据绑定技术,可以轻松实现响应式编程

  • Vue借鉴了react的组件化技术,即提高了代码重用性,又易于维护和扩展性

  • Vue借鉴了react的虚拟DOM技术,采用diff算法实现页面更新,运行速度快


1.3 作者


  • Vue作者是尤雨溪

    • 尤雨溪,Vue.js和Vite的作者,HTML5版Clear的打造人,独立开源开发者。

    • 前Google员工,2014年2月,创作并开源了Vue.js

    • 2016年宣布加盟阿里巴巴Weex团队担任技术顾问

    • 尤雨溪大学专业并非是计算机专业,在大学期间他学习专业是室内艺术和艺术史,后来读了美术设计和技术的硕士,正是在读硕士期间,他偶然接触到了Javascript ,从此被这门编程语言深深吸引,开启了自己的前端生涯

      image-20210708001135078

1.4 版本


  • 2014年2月25日,发布0.9.0
  • 2015年10月27日,发布1.0.0
  • 2016年4月27日,发布2.0
  • 2020年9月18日晚 11 点半, 发布3.0.0
    • 为何不直接讲Vue3.0

      • 市场普及度不够,企业项目还是以2.X版为主
      • 新版本总会出现各种小错误,等反馈慢慢修复才会稳定
      • Vue3没有Vue2容易上手,掌握Vue2了再去学习Vue3会事半功倍

二、Vue起步


2.1 引入vue.js


  • 直接下载并用


3.6 v-bind


  • v-bind的基本用途是来绑定html元素属性,用法v-bind:属性名=“表达式”

  • v-bind:属性名

    • 可以简写为 :属性名

    <div id&#61;"app"><img v-bind:src&#61;"imgUrl"><img :src&#61;"imgUrl">
    div>
    <script>const vm &#61; new Vue({el: &#39;#app&#39;,data: { logo: &#39;https://cn.vuejs.org/images/logo.svg&#39;}})
    script>


3.7 v-model


  • 实现表单元素的双向数据绑定

    {{ message }}






3.8 v-if


  • v-if…v-else-if…v-else
    • vue中的条件指令可以根据条件在DOM中渲染或销毁元素/组件

      <p v-if&#61;"line &#61;&#61; 1">第一行....p>
      <p v-else-if&#61;"line &#61;&#61; 2">第二行....p>
      <p v-else>第三行....p>
      <script>const vm &#61; new Vue({el: &#39;#app&#39;,data: { line: 1}})
      script>


3.9 v-show


  • v-show的用法与v-if的用法基本一致&#xff0c;只不过v-show是改变元素的display属性进行显示和隐藏&#xff0c;当表达式的值为true时显示&#xff0c;为false时隐藏。

    <p v-show&#61;"line &#61;&#61; 1">第一行....p>
    <p v-show&#61;"line &#61;&#61; 2">第二行....p>
    <p v-show&#61;"line !&#61;&#61; 1 && line !&#61;&#61; 2">第三行....p>

    v-if和v-show的选择

    • v-if才是真正的条件渲染&#xff0c;它会根据条件表达式销毁或重建元素&#xff0c;
    • v-show只是简单的css的display属性的切换&#xff0c;实现的是元素的显示和隐藏
    • 相比之下&#xff0c;v-if更适合条件不经常改变的场景&#xff0c;因为它切换的开销相对较大&#xff0c;而v-show适合于频繁切换条件的场景

3.10 v-for


  • 当需要循环遍历时就会用来v-for指令&#xff0c;它的表达式需要结合in来使用。有些类似于原生js中for…in的用法

    <div id&#61;"app"><ul><li v-for&#61;"item in books" :key&#61;"item.id"><span>{{ item.name }}span> li>ul>
    div><script>const vm &#61; new Vue({el: &#39;#app&#39;,data: { books: [{id:&#39;001&#39;,name: &#39;三国演义&#39;},{id:&#39;002&#39;,name: &#39;水浒传&#39;},{id:&#39;003&#39;,name: &#39;西游记&#39;},{id:&#39;004&#39;,name: &#39;红楼梦&#39;},] }})
    script>

    v-for中的key属性&#xff1a;
    • 使用v-for更新已渲染的元素列表时,列表数据修改的时候,会根据key值去判断某个值是否修改,如果修改,则重新渲染这一项,否则复用之前的元素

作业&#xff1a;


  1. 请简单描述你对vue的理解

  2. 安装Vue Devtools

  3. 什么是MVVM

  4. 举例说是响应式数据的实现

  5. 举例说明10个Vue常见指令的作用

  6. 完成下图效果&#xff0c;输入任意字符串都转成相反顺序输出&#xff0c;比如“hello”转为“olleh”

    image-20210708053255262
  7. 思考题&#xff1a;使用vue实现如下学生信息录入系统

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RD0aitQA-1651027041964)(images/image-20211129170957033.png)]


推荐阅读
  • 尽管在WPF中工作了一段时间,但在菜单控件的样式设置上遇到了一些基础问题,特别是关于如何正确配置前景色和背景色。 ... [详细]
  • 本文探讨了如何利用RxJS库在AngularJS应用中实现对用户单击和拖动操作的精确区分,特别是在调整区域大小的场景下。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
  • Vue CLI 基础入门指南
    本文详细介绍了 Vue CLI 的基础使用方法,包括环境搭建、项目创建、常见配置及路由管理等内容,适合初学者快速掌握 Vue 开发环境。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • 本文是对《敏捷软件开发:原则、模式与实践》一书的深度解析,书中不仅探讨了敏捷方法的核心理念及其应用,还详细介绍了面向对象设计的原则、设计模式的应用技巧及UML的有效使用。 ... [详细]
  • 在尝试加载支持推送通知的iOS应用程序的Ad Hoc构建时,遇到了‘no valid aps-environment entitlement found for application’的错误提示。本文将探讨此错误的原因及多种可能的解决方案。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 本文详细介绍如何在 Apache 中设置虚拟主机,包括基本配置和高级设置,帮助用户更好地理解和使用虚拟主机功能。 ... [详细]
author-avatar
永远的菜鸟
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有