1 v-on 指令

1.1 v-on:click

1.2 v-on:keydown

1.3 v-on:mouseover

1.4 事件修饰符

1.5 按键修饰符

2 v-text 、v-html、v-blind

2.1 v-text 与 v-html

2.2 v-blind

3 v-model

4 v-for

4.1 遍历数组

4.2 遍历对象

4.3 遍历对象数组

5 v-if 与 v-show


1 v-on 指令

v-on 指令用来监听 DOM 事件,并在触发时运行一些 JavaScript 代码

1.1 v-on:click

v-on:click 是用来点击事件的指令,可以和 button 标签一起使用,看一下案例:

  • 使用v-on:click绑定fun函数

  • 通过 methods 方法编写方法体

span style="box-sizing: border-box;">html>

<html xmlns:v-on="http://www.w3.org/1999/xhtml">

<head>

<meta charset="utf-8" />

<title>v-on:clicktitle>

<script src="js/vuejs-2.5.16.js">script>

head>

<body>

<div id="app">

{{message}}

<button v-on:click="fun1('twoStar')">点击button>

div>

body>

<script>

//view model

new Vue({

el:"#app",

data:{

message:"oneStar"

},

methods:{ //methods(方法)表示一个具体的操作, 主要写 业务逻辑

fun1:function (msg) { //方法体

this.message=msg;

}

}

});

script>

html>

点击后message的值改变

1.2 v-on:keydown

v-on:keydown 指令表示键盘按下事件,这里做一个案例:让键盘只有按下 0~9 才有效,其他按键均无效

  • 创建text,用来键盘输入显示,绑定函数并传入 event 参数

  • 创建方法体

span style="box-sizing: border-box;">html>

<html xmlns:v-on="http://www.w3.org/1999/xhtml">

<head>

<meta charset="utf-8" />

<title>v-on:keydowntitle>

<script src="js/vuejs-2.5.16.js">script>

head>

<body>

<div id="app">

<input type="text" v-on:keydown="fun2($event)">

div>

body>

<script>

//view model

new Vue({

el:"#app",

methods:{

//方法体

fun2:function (event) {

var keyCode = event.keyCode; //定义按键事件

if(keyCode < 48 || keyCode > 57){ //判断按键值

event.preventDefault(); //按键不生效

}

}

}

});

script>

html>

只有在text中输入 0~9 数字才生效

1.3 v-on:mouseover

v-on:mouseover 指令表示鼠标移动到某个文件域事件,案例:在一个文件域上模拟鼠标移动和阻止事件传播

  • 在div上创建一个textarea区域

  • 设置鼠标悬停事件

span style="box-sizing: border-box;">html>

<html xmlns:v-on="http://www.w3.org/1999/xhtml">

<head>

<meta charset="utf-8" />

<title>v-on:mouseovertitle>

<style>

#div {

background-color: red;

width: 200px;

height: 200px;

}

style>

<script src="js/vuejs-2.5.16.js">script>

head>

<body>

<div id="app">

<div v-on:mouseover="fun1" id="div">

<textarea v-on:mouseover="fun2($event)">文件域textarea>

div>

div>

body>

<script>

//view model

new Vue({

el:"#app",

methods:{

fun1:function () {

alert("鼠标悬停在div上");

},

fun2:function (event) {

alert("鼠标悬停在textarea上");

event.stopPropagation();

}

}

});

script>

html>

1.4 事件修饰符

在 Vue.js 中,提供了事件修饰符来处理 DOM 事件细节,通过由点(.)表示的指令后缀来调用修饰符,常用的事件如下:

  • .stop:触发停止事件

  • .prevent:触发阻止事件

  • .capture:捕获事件

  • .self:触发自己的事件

  • .once:只执行一次事件

这里演示 prevent 阻止事件,先创建提交到百度的表单,然后阻止其跳转

span style="box-sizing: border-box;">html>

<html xmlns:v-on="http://www.w3.org/1999/xhtml">

<head>

<meta charset="utf-8" />

<title>v-on:事件修饰符title>

<script src="js/vuejs-2.5.16.js">script>

head>

<body>

<div id="app">

<form v-on:submit.prevent action="http://www.baidu.com" method="get">

<input type="submit" value="提交">

form>

div>

body>

<script>

//view model

new Vue({

el:"#app"

});

script>

html>

1.5 按键修饰符

按键修饰符是获取按下键盘的事件,Vue 允许为 v-on 在监听键盘事件时添加按键修饰符,全部的按键别名如下:

  • .enter

  • .tab

  • .delete

  • .esc

  • .space

  • .up

  • .down

  • .left

  • .right

  • .ctrl

  • .alt

  • .shift

  • .meta

以 .enter 为例

span style="box-sizing: border-box;">html>

<html xmlns:v-on="http://www.w3.org/1999/xhtml">

<head>

<meta charset="utf-8" />

<title>v-on:按键修饰符title>

<script src="js/vuejs-2.5.16.js">script>

head>

<body>

<div id="app">

<input type="text" v-on:keydown.enter="fun($event)">

div>

body>

<script>

//view model

new Vue({

el:"#app",

methods:{

fun:function () {

alert("按下了enter键")

}

}

});

script>

html>

2 v-text 、v-html、v-blind

2.1 v-text 与 v-html

  • v-text:显示原文本

  • v-html:以标签内容显示

span style="box-sizing: border-box;">html>

<html>

<head>

<meta charset="utf-8" />

<title>v-text与v-htmltitle>

<script src="js/vuejs-2.5.16.js">script>

head>

<body>

<div id="app">

<div v-text="message">div>

<div v-html="message">div>

div>

body>

<script>

//view model

new Vue({

el:"#app",

data:{

message:"

oneStar

"

}

});

script>

html>

2.2 v-blind

在前面使用插值表达式的时候,都是在标签内部写插值表达式,如果要给标签的属性赋值,绑定插值表达式,那就要用到 v-blind 指令

来看案例:在设置HTML文本字体颜色的时候,可以使用 v-blind 来绑定颜色

span style="box-sizing: border-box;">html>

<html xmlns:v-bind="http://www.w3.org/1999/xhtml">

<head>

<meta charset="utf-8" />

<title>v-blindtitle>

<script src="js/vuejs-2.5.16.js">script>

head>

<body>

<div id="app">

<font size="5" v-bind:color="ys1">派大星font>

<font size="5" :color="ys2">海绵宝宝font>

div>

body>

<script>

//view model

new Vue({

el:"#app",

data:{

ys1:"red",

ys2:"green",

}

});

script>

html>

3 v-model

可以使用 v-model 指令给 value 属性赋值,比如给 form 表单中的 value 赋值:

span style="box-sizing: border-box;">html>

<html xmlns:v-model="http://www.w3.org/1999/xhtml">

<head>

<meta charset="utf-8" />

<title>v-modeltitle>

<script src="js/vuejs-2.5.16.js">script>

head>

<body>

<div id="app">

<form action="" method="post">

用户:<input type="text" name="username" v-model="user.username"><br>

密码:<input type="text" name="password" v-model="user.password"><br>

form>

div>

body>

<script>

//view model

new Vue({

el:"#app",

data:{

user:{

username:"oneStar",

password:"123"

}

}

});

script>

html>

4 v-for

v-for 指令是用来循环遍历的,相当于 for 循环,这里演示遍历数组、遍历对象、遍历对象数组

4.1 遍历数组

span style="box-sizing: border-box;">html>

<html>

<head>

<meta charset="utf-8" />

<title>v-for遍历数组title>

<script src="js/vuejs-2.5.16.js">script>

head>

<body>

<div id="app">

<ul>

<li v-for="(arr,index) in arrs">{{arr +" : "+ index}}li>

ul>

div>

body>

<script>

//view model

new Vue({

el:"#app",

data:{

arrs:[1,2,3,4]

}

});

script>

html>

4.2 遍历对象

span style="box-sizing: border-box;">html>

<html>

<head>

<meta charset="utf-8" />

<title>v-for遍历对象title>

<script src="js/vuejs-2.5.16.js">script>

head>

<body>

<div id="app">

<ul>

<li v-for="(value,key) in person">{{key + " : " + value}}li>

ul>

div>

body>

<script>

//view model

new Vue({

el:"#app",

data:{

person:{

name:"oneStar",

age:18

}

}

});

script>

html>

4.3 遍历对象数组

span style="box-sizing: border-box;">html>

<html>

<head>

<meta charset="utf-8" />

<title>v-for遍历对象title>

<script src="js/vuejs-2.5.16.js">script>

head>

<body>

<div id="app">

<table border="1">

<tr>

<td>序号td>

<td>姓名td>

<td>年龄td>

tr>

<tr v-for="(person,index) in persons">

<td>{{index}}td>

<td>{{person.name}}td>

<td>{{person.age}}td>

tr>

table>

div>

body>

<script>

//view model

new Vue({

el:"#app",

data:{

persons:[

{name:"oneStar",age:18},

{name:"twoStar",age:19},

{name:"threeStar",age:20}

]

}

});

script>

html>

5 v-if 与 v-show

  • v-if 是根据表达式的值来决定是否渲染元素

  • v-show是根据表达式的值来切换元素的display css属性

span style="box-sizing: border-box;">html>

<html xmlns:v-on="http://www.w3.org/1999/xhtml">

<head>

<meta charset="utf-8" />

<title>v-if与v-showtitle>

<script src="js/vuejs-2.5.16.js">script>

head>

<body>

<div id="app">

<div v-if="flag">派大星div>

<div v-show="flag">海绵宝宝div>

<button v-on:click="change">转换button>

div>

body>

<script>

//view model

new Vue({

el:"#app",

data:{

flag:false,

},

methods:{

change:function () {

this.flag = !this.flag;

}

}

});

script>

html>

点击转换能将上面的文字影藏和显示


vue设置textarea最大字数_【Vue 学习】 Vue常用系统指令相关推荐

  1. vue 回车查询 按钮_从零开始学习vue

    在github搜小程序我们可以看到许多用许多用vue开发的实例. 到底什么是vue,我们不妨浪费一天时间来了解一下. 一.什么是vue Vue是一个JavaScript框架.作者是国内常年混迹知乎的一 ...

  2. vue中集合取第一个_快速学习Vue框架(知识点集合)

    学习Vue的小伙伴速度看过来,快速学习Vue框架知识点集合贴来啦.建议收藏,尤其基础并不是很扎实的同学,本篇集合贴就是你日后工作的参考手册. 基础知识: ·vue的生命周期:beforeCreate/ ...

  3. 能看懂vue源码什么水平_送你 Vue 学习路线的最佳实践

    最近面试发现很多人上面写了熟练使用 Vue 开发框架并了解其设计思路.可是我问了些 Vue设计思路上的的问题,他们就回答的吞吞吐吐. 有些人以为知道 Object.defineProperty 这个 ...

  4. vue单文件props写法_详解Vue 单文件组件的三种写法

    详解Vue 单文件组件的三种写法 JS构造选项写法 export defaul { data, methods, ...} JS class写法 @Component export default c ...

  5. 一个vue文件应该有的成分_详解vue为什么要求组件模板只能有一个根元素

    我是在知乎上看到的这个问题,转念一想,用了大半年的vue,好像真的没有了解过: '为什么只能有且只有一个根元素' 于是我花了二十多分钟去找了一下答案......竟然没有找到答案.... 好的现在我来说 ...

  6. vue输入框输入触发事件_详解.vue文件中监听input输入事件(oninput)

    详解.vue文件中监听input输入事件(oninput) .vue文件其实是一个组件,关于它的说明我之前也写过一篇文章,地址:.vue文件,今天这篇文章要讲的是.vue文件中监听input的输入值变 ...

  7. vue img src 动态赋值_一个基于Vue的开源延迟加载插件——vuelazyload

    介绍 vue-lazyload是一个基于Vue的延迟加载插件,用于延迟加载Vue组件或者图像. Github https://github.com/hilongjw/vue-lazyload 特点 轻 ...

  8. 发那科pmc编程手册_如何学习FANUC PMC功能指令

    在之前的学习课程中我们学习了FANUC内置编程器以及LADDER III软件的操作,知道如何根据报警信息查找报警位置等相关的小技巧,但是呢,对于FANUC PMC的学习还有一部分是对程序的理解.这样才 ...

  9. vue动态设置文字布局方式_详解Vue动态添加模板的几种方法

    动态添加模板需要收集原始数据的页面,这个时候我们需要很多原始数据收集模板,下面给大家详解Vue 动态添加模板的几种方法,希望对你学习这方面知识有所帮助. 通常我们会在组件里的 template 属性定 ...

最新文章

  1. 32位jdk_MyEclipse 10((32/64位)、(MAC)、(Linux))软件安装教程
  2. iOS开发中的 地区转经纬 经纬度转地区
  3. 使用tomcat搭建Jenkins环境(centos7.3)
  4. 你们公司内部有WiKi么
  5. luogu4407 [JSOI2009]电子字典 字符串hash + hash表
  6. Activity service 通信
  7. ES6 Map对象的使用
  8. 【Leetcode | 02】二叉树、线性表目录
  9. phpMyAdmin批量修改Mysql数据表前缀的方法
  10. Spring MVC-页面重定向示例(转载实践)
  11. Vue列表渲染---vue工作笔记0009
  12. 自定义标签处理器类的生命周期
  13. 解决sublime text 3使用Install Package时出现There are no packages available for installation问题
  14. Ztree 改 节点
  15. 条码打印软件如何批量导入图片和图片名称
  16. MIPS中addi指令被分成三条指令的问题
  17. ARTS打卡10-抓住海森堡Bug
  18. win10计算机三级密码设置,Win10系统下共享文件夹如何设置密码访问?
  19. 黑暗城堡 LibreOJ - 10064(SPFA)
  20. 带宽、延时、吞吐率、PPS 这些都是啥?

热门文章

  1. django-模板变量
  2. 保点发布RFID鲜肉跟踪方案
  3. appium入门文档
  4. 《每周一点canvas动画》——圆周运动
  5. PHP 设计模式 笔记与总结(3)SPL 标准库
  6. 通过反射实现圆角ImageView
  7. 【WordPress 建站教程】在 正文顶端或末尾插入固定的内容
  8. Java 11 正式发布,新特性解读
  9. 互联网架构,究竟为什么需要配置中心?
  10. 容器编排技术 -- Kubernetes kubectl rollout history 命令详解