素材巴巴 > 程序开发 >

Vue概述及入门

程序开发 2023-09-06 17:19:53

vue概述及入门

Vue的基础认识

什是Vue.js ( 官网:https://cn.vuejs.org/ )

  1. Vue.js是目前比较火、比较流行的框架
  2. Vue.js是前端的主流框架之一,和Angular.js、React.js一起,并成为前端三大主流框架!
  3. Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架(渐进式:由浅入深的、由简单到复杂的方式使用vue.js)。 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。
  4. Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。
    vue特点 :易用,灵活,高效
    vue全家桶:Vue+components(vue element/iview…)+vue-router+vuex+vue-cli
    vue.js优点:
  5. 体积小
    压缩后 20kB min+gzip
  6. 更高的运行效率
    基于虚拟DOM,一种可以预先通过Javascript进行各种计算,把最终的DOM操作计算
  7. 双向数据绑定
    让开发者不用再去操作dom对象,把更多的精力投入到业务逻辑上
  8. 生态丰富、学习成本底
    市场上拥有大量成熟、稳定的基于vue.js的ui框架、常用组件!拿来即用实现快速开发!
  9. 使用场景广泛
    被广泛的用于web端、移动端、跨平台应用开发 对初学者友好、入门容易、学习资料多

为什么要学习流行框架
Ø 企业为了提高开发效率
Ø 提高开发效率的发展历程:原生JS -->Jquery之类的类库 -->前端模板引擎 -->Angular.js/Vue.js(能够帮助我们减少不必要的DOM操作;提高渲染效率;双向数据绑定的概念【通过框架提供的指令,我们前端程序员只需要关心数据的业务逻辑,不再关心DOM是如何渲染的了】)
在Vue中,一个核心的概念,就是让开发者不再操作DOM元素,解放了开发者的双手,让程序员可以更多的时间去关注业务逻辑!

类库、插件、组件、框架的区别
类库:jquery、zepto、underscore等 类库提供的是项目常用的方法,相当于一个工具包,可以基于工具包快速开发项目

框架:是一套完整的解决方案;对项目的侵入性较大,项目如果需要更换框架,则需要重新架构整个项目 库(插件):提供了某一个小功能,对项目的侵入性较小,如果某个库无法完成某些需求,可以很容易切换到其他库实现需求。

声明式和命令式

命令式编程
命令”机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现,例如for循环l 声明式编程
声明式编程
告诉”机器” 你想要的是什么(what),让机器想出如何去做(how),例如数组内置方法forEach等

渐进式框架

渐进式:类库或者框架都是重量级的,里面包含很多方法,但是实际项目开发中,我们用不到这么多东西,所以在开发他们的时候,会把功能按照模块进行单独开发,使用者可根据自身情况选择一个模块一个模块的导入使用

vue起步

安装

最新稳定版
$npm install vue

基本使用

Vue对象的选项
El:

Data:

Methods:

Computed:

5.-表单双向绑定

表单数据的双向绑定

6.-事件处理

定义事件处函理数
绑定事件处理函数
V-on:事件名称=”事件处理函数”
缩写:@事件名称 = “事件处理函数”

7.-生命周期

  • 定义过滤器
    Vue.filter(filterName,function(){
    Return newValue
    })

  • 使用过滤器

  • {{myData | fiterName}}
    {{myData | fiterName(arg)}}

    9.-指令

  • v-html 更新元素的innerHTML

  • v-show 通过控制display样式来显示与隐藏

  • v-if 如果为true,当前标签渲染到页面中

  • v-else 如果为false,当前标签渲染到页面中

  • v-else-if

  • v-for 遍历数组/对象

  • v-on 绑定事件监听,一帮简写@

  • v-bind 强制绑定解析表达式,可以省略v-bind 直接使用:冒号即可

  • v-model 双向数据绑定

  • v-slot v-pre

  • v-cloak使用它可以防止闪现,必须与css搭配使用:[v-cloak]{display:none}如果想使用{{}} 又不想出现闪烁问题,则使用v-cloak来进行处理

    使用:

  • 在头部添加一个特殊的样式:[v-cloak]{display:none}

  • 在vue管理的模板入口节点上使用v-cloak指令
    原理:

  • 默认一开始被vue管理的模板是隐藏这的,当vue解析处理完dom模板之后,会自动把这个样式去掉,然后显示出来

  • v-once 只生效一次

  • 10.-Vue-cli 脚手架

    官方提供的脚手架工具
    GitHub :https://github.com/vuejs/vue-cli
    下载模板项目:https://github.com/vuejs-templates/webpack

    用法
    这是vue-cli的项目模板。建议使用npm 3+以获得更有效的依赖关系树。
    1.-创建vue项目
    在这里插入图片描述
    (1)1- Npm install -g vue-cli

    	 -  Vue-V
     

    (2)Vue init wepack my-project

    2.项目的打包与发布
    (1) 打包
    ① Npm run build
    (2) 发布:静态服务器工具包
    ① Npm install -g serve
    ② Serve dist
    ③ 访问:localhost:5000

    3.-组件定义与使用

  • 基本使用

  • 标签名与标签属性名书写问题

  • 4.-组件间的通信

  • 组件间通信方式

  • 组件间通信方式:props

  • 定义组件标签

    ·····在组件内声明所有的propsu
    方法1:只指定名称
    ······Props:[‘todos’,’deleteTodo’]
    方法2:指定名称和类型
    ······Props:{n Todos:Array,n deleteTodos:Functionl }
    方法3:指定名称/类型/必要性.默认值
    ·······Props:{n todos:{type:Arrya,required:true,default:[‘11’]}l }
    注意: 此方式用于父组件向子组件传递数据

  • 所有标签属性都会成为组件对象的属性,模板页面也可以直接引用

  • 问题

  • 如果需要向非子组件传递数据必须逐层传递

  • 兄弟组件间也不能直接props通信,不许借助父组件才可以

  • 组件通信 2:vue自定义事件

  • 1-.绑定事件监听

    This. r e f s . x x x . refs.xxx. refs.xxx.on(“delete_todo”,function(todo){
    This.deleteTodo(todo)
    })

    2.触发事件(只能在父组件中接收)                 This.$emit(eventName,data)
    3.注意

    1.订阅消息[绑定事件监听]PubSub.subscribe(msg,function(“msg”,data){})

    2.发布消息[触发事件]PubSub.publish(“msg”,data)

    3.注意
    可以实现任何组件间通信,想使用这个库必须先安装

    在这里插入图片描述

    11.-Vue–前后端交互


    标签:

    上一篇: VUE前端页面嵌套 下一篇:
    素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。