Vue.js 2.x笔记:表单绑定(3)
1. 基础用法
v-model 指令:在表单 input 和 textarea 元素上创建双向数据绑定。
1.1 单行文本(Text)
<div id="app">
<input type="text" v-model="name">
<p>name:{{ name }}</p>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
name: "LiBing"
}
});
</script>
1.2 多行文本(Multiple Text)
<div id="app">
<textarea v-model="remark"></textarea>
<p>remark{{ remark }}</p>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
remark: "备注"
}
});
</script>
注:在 textarea 中插值(<textarea>{{text}}</textarea>)并不会生效。使用 v-model 来替代。
1.3 复选框(checkbox)
单选 checkbox,绑定到布尔值。
<div id="app">
<input type="checkbox" id="chkIsDefault" v-model="isDefault"/>
<label for="chkIsDefault">{{ isDefault ? "是" : "否" }}</label>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
isDefault: true
}
});
</script>
多选 checkbox,绑定到同一个数组。
<div id="app">
<template v-for="fruit in fruits">
<input type="checkbox" :id="fruit.id" :value="fruit.text" v-model="checkedFruits" />
<label :for="fruit.id">{{ fruit.text }}</label>
</template>
<div>选择的水果:{{ checkedFruits }}</div>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
fruits: [{
id: "apple",
text: "苹果"
},
{
id: "banana",
text: "香蕉"
},
{
id: "grape",
text: "葡萄"
}
],
checkedFruits: ["苹果"]
}
});
</script>

1.4 单选框(radio)
<div id="app">
<template v-for="fruit in fruits">
<input type="radio" :id="fruit.id" :value="fruit.text" v-model="checkedFruit" />
<label :for="fruit.id">{{ fruit.text }}</label>
</template>
<div>选择的水果:{{ checkedFruit }}</div>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
fruits: [{
id: "apple",
text: "苹果"
},
{
id: "banana",
text: "香蕉"
},
{
id: "grape",
text: "葡萄"
}
],
checkedFruit: "苹果"
}
});
</script>
1.5 下拉框(select)
1.5.1 单选select
<div id="app">
<select v-model="selected">
<option disabled>请选择</option>
<option v-for="option in options" v-bind:value="option.value">
{{ option.text }}
</option>
</select>
<div>选择项:{{ selected }}</div>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
selected: "1",
options: [{
text: "A",
value: "1"
},
{
text: "B",
value: "2"
},
{
text: "C",
value: "3"
}
]
}
});
</script>

1.5.2 多选select
<div id="app">
<select v-model="selected" multiple>
<option disabled>请选择</option>
<option v-for="option in options" v-bind:value="option.value">
{{ option.text }}
</option>
</select>
<div>选择项:{{ selected }}</div>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
selected: "1",
options: [{
text: "A",
value: "1"
},
{
text: "B",
value: "2"
},
{
text: "C",
value: "3"
}
]
}
});
</script>

2. 与value属性绑定
对于 radio, checkbox 和 select 的 option 选项,通常可以将 v-model 与值是静态字符串的 value 属性关联。
2.1 checkbox
<div id="app">
<input type="checkbox" id="chkIsDefault" v-model="isDefault" true-value="true" false-value="false" />
<label for="chkIsDefault">{{ isDefault == "true" ? "是" : "否" }}</label>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
isDefault: "true"
}
});
</script>
3. 修饰符(modifiers)
3.1 .lazy
默认情况下,v-model 会在每次 input 事件触发之后,将数据同步至 input 元素中(除了上述提到的输入法组合文字时不会)。
可以添加 lazy 修饰符,从而转为在触发 change 事件后同步。
<div id="app">
<input type="text" v-model.lazy="title" />
<label>{{ title }}</label>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
title: "LiBing"
}
});
</script>
3.2 .number
<div id="app">
<input type="number" v-model.number="age" />
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
age: 10
}
});
</script>
3.3 .trim
v-model.trim:自动过滤掉首尾空格
<div id="app">
<input type="text" v-model.trim="title" />
</div>
<script>
var vm = new Vue({
el: "#app",
data: {
title: "LiBing"
}
});
</script>
Vue.js 2.x笔记:表单绑定(3)的更多相关文章
- MVC + Vue.js 初体验(实现表单操作)
Vuejs http://cn.vuejs.org/ Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的 ...
- js高级程序设计 笔记 --- 表单
一,基础知识 在html中,表单是form元素,而在js中,表单对应的是HTMLFormElement类型,继承自HTMLElement,其独特的属性和方法有(常见): action:接收请求的URL ...
- 关于vue.js中v-model与表单控件的双向绑定。
单选框:<input type="checkbox" id="checkbox" v-model="checked"><l ...
- Vue表单绑定(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
<!DOCTYPE html><html> <head> <meta charset="utf-8"> ...
- vue -- v-model 表单绑定
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue基础-动态样式&表单绑定&vue响应式原理
动态样式 作用:使用声明式变量来控制class和style的值 语法: :class/:style 注意:尽可能不要把动态class和静态class一起使用,原因动态class起作用的时间会比较晚,需 ...
- 两万字Vue.js基础学习笔记
Vue.js学习笔记 目录 Vue.js学习笔记 ES6语法 1.不一样的变量声明:const和let 2.模板字符串 3.箭头函数(Arrow Functions) 4. 函数的参数默认值 5.Sp ...
- vue.js 作一个用户表添加页面----初级
使用vue.js 制作一个用户表添加页面,实际上是把原来需要使用js写的部分,改写成vue.js的格式 首先,想象一下,先做思考,我们要添加用户表,设涉及到哪些数据,一个是用户id,一个是用户名,一个 ...
- Vue基础-自定义事件的表单输入组件、自定义组件的 v-model
Vue 测试版本:Vue.js v2.5.13 学习 Vue 的自定义事件的表单输入组件,觉得文档讲的不太细致,所以这里再细化一下: 如果不用 v-model,代码应该是这样: <myinput ...
- vue教程1-01 v-model 一般表单元素(input) 双向数据绑定
vue教程1-01 v-model 一般表单元素(input) 双向数据绑定el:'#box',//这里放的是选择器.不然会不生效 <!DOCTYPE html> <html l ...
随机推荐
- .NET Core 的缓存篇之MemoryCache
前言 对于缓存我们都已经很熟悉了,缓存分为很多种,浏览器缓存.试图缓存.服务器缓存.数据库缓存等等一些,那今天我们先介绍一下视图缓存和MemoryCache内存缓存的概念和用法: 视图缓存 在老的版本 ...
- Jvm垃圾回收器(终结篇)
知识回顾: 第一篇<Jvm垃圾回收器(基础篇)>主要讲述了判断对象的生死?两种基础判断对象生死的算法.引用计数法.可达性分析算法,方法区的回收.在第二篇<Jvm垃圾回收器(算法篇)& ...
- 2.5配置的框架浅析「深入浅出ASP.NET Core系列」
希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,谢谢关注. 配置的使用流程 //第一步.初始化Builder var builder = new ConfigurationB ...
- Jquer + Ajax 制作上传图片文件
没什么 说的 直接 上代码 //选择图片并上传 function selectImg(node){ var f = node.value; var file = node.files[0]; if( ...
- windows共享文件夹
net share 查看本地共享文件夹 我们想要删除这些链接,删除所有的共享目录链接命令是: net use * /d 如果只是想删除单个共享目录的链接,那么命令是: net use \\主机名或IP ...
- JVM的总结
1.JVM的内存模型 JVM主要由程序计数器,虚拟机栈,堆,方法区,本地方法区 1.程序计数器的功能是记录当前线程执行到了字节码文件的哪一行, JVM执行的是.java编译后的.class文件 2.虚 ...
- js 格林威治时间转正常格式并兼容ios
function timeChange(time) { var date = time.substr(0, 10); //年月日 var hours = time.substring(11, 13); ...
- java基础(二):谈谈Java基本数据结构
数据结构是计算机存储,组织数据的方式.数据结构是指相互之间存在一种或多种特定关系的数据元素的集合.通常情况下,精心选择的数据结构可以带来更高的运行或存储效率.数据结构往往同高效的检索算法和索引技术有关 ...
- AFO && OI回忆录
技不如人,甘拜下风 今天是2019.4.6,联考第一天,菜鸡attack原题爆炸(其实是都不会)心灰意冷(其实并没有很难过)写下了这篇文章 T1 2h写个跟\(k\)无关的假算法写到最后发现是三个lo ...
- win10 64位IIS链接32位ACCESS数据库
window10中IIS运行.asp文件链接数据库时出现错误,显示“An error occurred on the server when processing the URL. Please co ...