博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue
阅读量:5050 次
发布时间:2019-06-12

本文共 2135 字,大约阅读时间需要 7 分钟。

一、什么是vue

是一个mvvm模型的js框架(m--->model v--->view)

model本质上来说就是数据

view就是视图(及最终展现给客户的页面)

  • mv model --->view(由数据驱动视图)
  • vm view --->model(由视图通过事件更新数据)
    vue的初体验
    1201653-20171101091144091-162158511.png
    1201653-20171101102852685-2145648077.png

特点是

  • 1、简单上手容易
  • 2、比较的轻量级(相对于AngularJs、ReatJs)
  • 3、组件齐全,文档便于阅读

    二、vue的一些基本指令

    1、v-text

  • 绑定标签的内容,如果变量中有特殊字符,会进行转义直接以字符串的形式输出到标签中

    1201653-20171031191634357-1512005288.png

浏览器显示

1201653-20171031192729795-175243676.png

2、v-html

  • 绑定标签内容,变量中的内容不会进行转义
    1201653-20171031192431951-164283498.png
    浏览器展示
    1201653-20171031192743466-1517256448.png

3、v-if

  • v-if="value"
  • value Boolean true/false
  • 控制元素的显示与隐藏
    1201653-20171031194641404-1030877023.png

4、v-show

  • 控制元素的显示与隐藏

v-if(虚拟dom元素)和v-show有什么区别?

(1)、手段:

  • v-if是动态的向DOM树内添加或者删除DOM元素;
  • v-show是通过设置DOM元素的display样式属性控制显隐;

    (2)、编译过程:

  • v-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件;
  • v-show只是简单的基于css切换

    (3)、编译条件

  • v-if是惰性的,如果初始条件为假,则什么也不做;只有在条件第一次变为真时才开始局部编译(编译被缓存?编译被缓存后,然后再切换的时候进行局部卸载);
  • v-show是在任何条件下(首次条件是否为真)都被编译,然后被缓存,而且DOM元素保留;

    (4)、性能消耗:

  • v-if有更高的切换消耗;
  • v-show有更高的初始渲染消耗;

    (5)、使用场景

  • v-if适合运营条件不大可能改变
  • v-show适合频繁切换;

5、v-for列表渲染

  • 渲染数组 v-for="item in arr"

    1201653-20171101093241045-1169056829.png
    1201653-20171101093701591-1858945228.png

  • 渲染对象 v-for="item in obj"

    1201653-20171101094237560-320971080.png
    浏览器显示
    1201653-20171101094309888-1330467976.png

6、v-bind

  • 为标签绑定属性

    1201653-20171101100330888-163206897.png

    new Vue({     el:".box",     data:{        src:"img/1.jpg     }  })  

v-bind的简写形式

<img :src="src" />

1201653-20171101101736310-1136783981.png

7、v-bind绑定class类名

<div :class=""></div>

v-bind指令绑定元素的属性
1201653-20171101101105966-1968389586.png

1、对象的形式

2、数组的形式绑定class

二、绑定style样式

1、对象的形式绑定样式

html结构

some text here...

vue对象

new Vue({    el: ".box",    data: {        styleObj: {            width: "200px",            height: "200px",            backgroundColor: "green",            color: "yellow"         }      } })

三、v-model双数据绑定(一般用于为input输入框绑定输入值)

1201653-20171101215151388-826361699.png

input 类型分为text/checkbox/radio...

select

四、vue中的事件绑定

1、事件绑定的第一种方式

  • html结构

  • vue对象

    new Vue({      el:".box",      methods:{          myclick:function(){          }      }  })

2、绑定事件的第二种方式(简写方式)

  • html结构

    //官方推荐事件绑定用简写形式
  • vue对象

    new Vue({      el:".box",      methods:{          myclick:function(){          }      }  })
  • 可以绑定事件类型:@click/mouseover/mouseout/keydown/keyup...

3、监听键盘事件

  • 所有的键盘事件keydown/keyup/keypress
  • vue内置事件对象

    <input @keydown="input($event)"/>

    new Vue({      el:".box",      methods:{          input:function(ev){          }      }  })
  • vue自带的键盘事件名
  • keyup.left/right/up/down
  • keydown.left/right/up/down
  • keypress.left/right/up/down
  • 自定义键盘按下事件修饰符

    Vue.config.keyCodes = {        zero:48  }  

4、自带的事件修饰符

  • prevent/stop/self/once
  • prevent 阻止事件的默认行为
  • stop 阻止事件冒泡

转载于:https://www.cnblogs.com/DCL1314/p/7763197.html

你可能感兴趣的文章
『校内OJ』NOIP2019模拟赛(二)
查看>>
mongodb-安装&配置&启动
查看>>
Oracle按数字大小排序
查看>>
在Visual Studio中使用MonoTouch开发iOS应用程序
查看>>
python入门作业---ATM+购物商场程序(2)
查看>>
仿射函数
查看>>
(一) Keras 一元线性回归
查看>>
Unity的50个使用技巧(2016 Edition)
查看>>
HDU 2050(折线分割平面)
查看>>
sql 存储过程—分页获取信息
查看>>
okhttp3 get post 简单封装
查看>>
基础网络相关概念
查看>>
2010年初关注的技术
查看>>
Git——新手入门与上传项目到远程仓库GitHub
查看>>
Java基础知识脑图
查看>>
VMware安装CentOS 提示:已将该虚拟机配置为使用 64 位客户机操作系统。但是,无法执行 64 位操作。解决方案...
查看>>
iOS:UIWebView scrollView 的分页滑动问题
查看>>
【Movie】绿皮书
查看>>
python发送邮件 示例
查看>>
SpringMVC与Struts2的区别
查看>>