Hello,大家好!今天给大家带来一款十分好用的框架——vue.js!

Vue.js是一套构建用户界面的渐进式框架。它 只关注视图层, 采用自底向上增量开发的设计。

Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

什么是双向绑定??
Vue框架 很核心的功能就是双向数据绑定。双向是指:HTML标签数据绑定到Vue对象,另外反方向数据也是绑定的。
通俗点说就是,Vue对象的改变会直接影响到HTML标签的变化,而且标签的变化也会反过来影响Vue对象属性的变化。
 
【 Vue构造函数 】
① 选项el属性,element缩写。当前Vue对象挂载到那个标签上的语法,支持CSS选择器或者DOM对象,一般用ID选择器 选择当前标签。
② data 是自定义数据。Vue会把自定义数据与HTML 模板进行绑定。
③ 数据绑定方式就是用双大括号{{}} ,类似于Angular。
 
一、 声明式渲染

二、动态绑定标题提示

三、显示与隐藏

四、遍历数组

五、双向数据绑定

【 VueJs 的实例化 】

当一个vue实例被创建时,它向vue的响应式系统中加入了其data对象所能找到的所有属性。当这些属性的值发生改变时,视图会产生"响应",即匹配更新为新的值。
 
【vue实例的生命周期】
  每个 Vue 实例在被创建之前都要经过一系列的初始化过程。
  例如需要设置数据监听、编译模板、挂载实例到 DOM、在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,给予用户机会在一些特定的场景下添加他们自己的代码。
 
【 Vue.js 的表达式 】

 
  1、Vue.js 中使用{{}} 绑定表达式,用于将表达式的内容输出到页面中。
  2、表达式中可以是文字、运算符、变量等,也可以在表达式中进行运算输出结果。
  3、如果vue.js文件放在页面下方,在页面涮新瞬间会看到{{}}表达式的原样,所以可以使用 v-cloak 指令代替表达式。
    在CSS中设置 [v-cloak]{display:none;} 或者 v-html = "message" 

【vue.JS中的指令】—— 模板语法

指令是扩展的 HTML属性,带有前缀v-。
    v-bind:动态绑定数据。是专门用来绑定属性的 ,主要用来操作元素的 class 列表和它的内联样式.简写为“:” 。=> 以后的:class="{red:boolean}"
    v-cloak :隐藏未编译的Mustache语法,在css中设置[v-cloak]{display:none;}
    v-text :更新数据,会覆盖已有结构。类似{{ msg }} ;
    v-once :只渲染一次,随后数据更新也不重新渲染;
    v-html : 解析HTML标签 v-html = "message"
 
    v-show :根据值的真假,切换元素的display属性;
    v-if :根据值的真假,切换元素会被销毁、重建; => 在dom中已消失
    v-else-if :多条件判断,为真则渲染;
    v-else :条件都不符合时渲染;
    v-for :基于源数据多次渲染元素或模块;
 
    v-model :在表单控件元素(input等)上创建双向数据绑定(数据源);跟Angular中 ng-model 用法一样。
    v-pre :跳过元素和子元素的编译过程;
    v-on :绑定时间监听器。简写为“@”,例:@click="xxx";
 
六、条件语句
 
【 区别 v-if v-show v-else v-else-if 】
  v-if :根据值的真假,切换元素会被销毁、重建; => 在dom中已消失
  v-show :根据值的真假,切换元素的display属性;
  v-else :条件都不符合时渲染;
  v-else-if :多条件判断,为真则渲染;
【 v-show v-if 的使用与比较 】
  ① v-show :根据值的真假,切换元素的display属性;
    v-show是控制隐藏或显示。元素会始终渲染并保持在dom中。
    v-show不支持template标签

  ② v-if是控制DOM节点的生成和销毁。 是真实的条件渲染,因为它会确保条件块在切换当中适当的销毁与重建条件块内的事件监听器和子组件。
  ③ v-if 有更高的切换消耗,而v-show有更高的初始渲染消耗。
    如果需要频繁切换使用,v-show更好。如果运行时条件不大可能改变,用v-if较好。
 
七、循环语句 v-for  
  ① 语法:v-for = "x in items" x 是 索引:items是数组,这样进行遍历
② v-for循环是不断创建新的标签,标签里的内容,我们决定,一般都是放在数组里,然后遍历显示出来。也可以放对象 ,遍历对象。
③ 当 v-if 与 v-for 一起使用时,v-for 具有比 v-if 更高的优先级。

八、v-bind 数据绑定
  ① v-bind作用:v-bind 是专门用来 绑定属性的,主要用来操作元素的class列表和它的内联样式
  ② 用法:和JS操作DOM一样,但是更简单
  ③ 语法:
    :class = "{className : 表达式}"
    表达式 值为 true,添加 className(add)
    表达式 值为 false,不添加 className(remove)

九、计算属性 【computed 和 methods】
  1、写法上的区别:
    computed 计算属性在使用时,不用加(),而methods在使用时,要向方法一样去用,必须加();
  2、利用 computed 计算属性时,是将content和message绑定,只有当message发生变化时,才会触发content
    而 methods 方方式,每次进入页面时,都要执行该方法。
 

十、组件
【什么是组件】
  1、组件其实就是页面组成的一部分,它是一个具有独立的逻辑和功能或页面,
    同时又能根据规定的接口规则进行相互融合,变成一个完整的应用。
  2、高内聚性,组件功能必须是完整的。(如我要实现下拉菜单功能,那在下拉菜单这个组件中,
    就把下拉菜单所需要的所有功能全部实现)。
  3、低耦合性。(较低的耦合便于单元测试和重复利用)
  4、每一个组件都有自己清晰的职责,完整的功能。
 
【vue中的组件】
  Vue 中的组件是一个自定义的标签(元素),vue.js的编译器会为它添加特殊功能
  Vue中的组件也可以拓展原生的HTML元素,封装可重用的代码。
 
【组件的基本组成】
  样式结构 行为逻辑 数据
【注】
  起名:在JS中使用驼峰,在HTML中就要使用 myCom => <my-com></my-com>
 
【 全局组件 】
1、全局组件必须写在vue实例创建之前,才会在根元素下面生效
2、模板里面第一级 只能有一个标签,不能并行
eg.
// 全局组件
    Vue.component("myCom",{
      template : "<h1 style = 'color:blue'>vue组件<p>hahaha</p></h1>" // p在h1里面
    })
 
【 局部组件 】
  1、局部组件直接在vue实例里,使用 components 注册。
  2、建议将模板定义在一个全局变量里。
 
更加详细的内容请参考资料:http://www.runoob.com/vue2/vue-routing.html
谢谢大家!
 

一款很便捷很实用的框架——vue.js的更多相关文章

  1. 前端框架vue.js系列(9):Vue.extend、Vue.component与new Vue

    前端框架vue.js系列(9):Vue.extend.Vue.component与new Vue 本文链接:https://blog.csdn.net/zeping891103/article/det ...

  2. (转)2018几大主流的UI/JS框架——前端框架 [Vue.js(目前市场上的主流)]

    https://blog.csdn.net/hu_belif/article/details/81258961 2016年开始应该是互联网飞速发展的几年,同时也是Web前端开发非常火爆的一年,Web ...

  3. 【入门篇】前端框架Vue.js知识介绍

    一.Vue.js介绍 1.什么是MVVM? MVVM(Model-View-ViewModel)是一种软件架构设计模式,它源于MVC(Model-View-Controller)模式,它是一种思想,一 ...

  4. 可能是目前最完整的前端框架 Vue.js 全面介绍

    Vue.js 是一个JavaScriptMVVM库,是一套构建用户界面的渐进式框架. 摘要 2016年最火的前端框架当属Vue.js了,很多使用过vue的程序员这样评价它,“vue.js兼具angul ...

  5. 前端三大框架 Vue.js、AngularJS、React 的区别

    Vue.js Vue.js 是一种构建数据驱动的Web界面的渐进式框架,Vue.js 采用自底向上增量开发的设计. Vue.js 轻量高效,数据双向绑定(响应式数据绑定), 它会自动响应数据的变化情况 ...

  6. 前端框架Vue.js——vue-i18n ,vue项目中如何实现国际化

    本项目利用  VueI18n 组件进行国际化,使用之前,需要进行安装 $ npm install vue-i18n 一.框架引入步骤: 1. 先在 main.js 中引入 vue-i18n. // 国 ...

  7. 前端框架 Vue.js 概述

    Vue.js 是什么 图片 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视 ...

  8. python django框架+vue.js前后端分离

    本文用于学习django+vue.js实现web前后端分离协作开发.以一个添加和删除数据库书籍应用为实例. django框架官方地址:https://www.djangoproject.com/ vu ...

  9. 前台框架vue.js中怎样嵌入 Echarts 组件?

    目前常用的图标插件有 charts,  Echarts, highcharts.这次将介绍 Echarts 在 Vue 项目中的应用. 一.安装插件 使用 cnpm 安装 Echarts cnpm i ...

随机推荐

  1. MYSQL 数据库高频查询语句整理

    一查询数值型数据: SELECT * FROM tb_name WHERE sum > 100; 查询谓词:>,=,<,<>,!=,!>,!<,=>,= ...

  2. AspxGridView控件的使用

    在网上找到的不错的资料: http://www.lmwlove.com/ai/SubjectID6 以下是自我总结: 要实现的功能:使用AspxGridView显示Scott数据库中emp与dept两 ...

  3. 【深度学习系列】PaddlePaddle之手写数字识别

    上周在搜索关于深度学习分布式运行方式的资料时,无意间搜到了paddlepaddle,发现这个框架的分布式训练方案做的还挺不错的,想跟大家分享一下.不过呢,这块内容太复杂了,所以就简单的介绍一下padd ...

  4. Bootstrap--下拉菜单.dropdown

    下拉菜单.dropdown .dropdown <下拉菜单触发器button+下拉菜单ul> .dropdown 包裹层 .dropdown-toggle  下拉菜单触发器 data-to ...

  5. Azure 基础:使用 powershell 创建虚拟机

    在进行与 azure 相关的自动化过程中,创建虚拟主机是避不开的操作.由于系统本身的复杂性,很难用一两条简单的命令完成虚拟主机的创建.所以专门写一篇文章来记录使用 PowerShell 在 azure ...

  6. LeetCode 205. Isomorphic Strings (同构字符串)

    Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the chara ...

  7. .NET Core 使用RSA算法 加密/解密/签名/验证签名

    前言 前不久移植了支付宝官方的SDK,以适用ASP.NET Core使用支付宝支付,但是最近有好几位用户反应在Linux下使用会出错,调试发现是RSA加密的错误,下面具体讲一讲. RSA在.NET C ...

  8. idea配置jetty服务器,通过mvn实现

    今天想试试除了tomcat之外的另一个服务器jetty的使用: 关于项目在tomcat中的启动大概有多种,尤其是在本地环境下,ide关于tomcat的优化做的很好,但是在idea上面部署tomcat总 ...

  9. pandas.DataFrame学习系列1——定义及属性

    定义: DataFrame是二维的.大小可变的.成分混合的.具有标签化坐标轴(行和列)的表数据结构.基于行和列标签进行计算.可以被看作是为序列对象(Series)提供的类似字典的一个容器,是panda ...

  10. iOS之 LLDB调试常用命令

    LLDB是LLVM下的调试器.Xcode从4.0开始编译器开始改用LLVM,相应的调试器也从gdb改为LLDB. 1. p 用于输出基本类型 2. po 用于输出Objective-C对象 3. ex ...