表单输入绑定、组件基础

目标:

  1. 熟练掌握vue中表单的处理方式
  2. 对之前学习的内容简单回顾一下,并写一个实例,学以致用(最好脱离文档)

vue中表单的处理方式

  1. vue中表单的处理使用了v-model指令, 这个指令可以直接把一个数据绑定到表单元素中的value,checked,selected特性,同时这些特性也会被忽略掉初始值,而总是将vue实例的数据作为数据来源.
  2. 使用了v-model之后<textarea></textarea>之间的插值就不会有效了,会被v-model代替.

双向绑定(v-model)

1.绑定value: text,textarea(字符串)

text:

<input v-model="message" placeholder="edit me">

textarea:

<textarea v-model="message" placeholder="add multiple lines"></textarea>

2.绑定checked: checkout(单个绑定布尔值,多个绑定字符串数组), radio(字符串)

checkout(单个):

<input type="checkbox" id="checkbox" v-model="checked">

checkout(多个):

<input type="checkbox" id="jack" value="Jack" v-model="checkedNames">
<label for="jack">Jack</label>
<input type="checkbox" id="john" value="John" v-model="checkedNames">
<label for="john">John</label>
<input type="checkbox" id="mike" value="Mike" v-model="checkedNames">
<label for="mike">Mike</label>

radio:

<input type="radio" id="one" value="One" v-model="picked">
<label for="one">One</label>
<br>
<input type="radio" id="two" value="Two" v-model="picked">
<label for="two">Two</label>

3.绑定selected: select(字符串)

<select v-model="selected">
<option disabled value="">请选择</option>
<option>A</option>
<option>B</option>
<option>C</option>
</select>

修饰符(用在v-model指令上)

.lazy: 触发的事件不一样,使用change触发,而不是input触发

.number: 自动转为数字类型

.trim:自动过滤后卫空白符号

例子

form.html

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>表单输入绑定</title>
<script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.min.js"></script>
</head>
<body>
<div id="app">
<form>
<!-- 文本 -->
<input type="text" v-model="formData.textValue">{{formData.textValue}}<br>
<textarea v-model="formData.textareaValue"></textarea>{{formData.textareaValue}}<br>
<!-- checkout(单个) -->
<input type="checkbox" id="checkbox" v-model="formData.isChecked"><label for="checkbox">点我啊</label><br>
<!-- 多个多选 -->
<input type="checkbox" id="haha" value="haha" v-model="formData.checkedValues">
<label for="haha">哈哈</label>
<input type="checkbox" id="hoho" value="hoho" v-model="formData.checkedValues">
<label for="hoho">呵呵</label>
<input type="checkbox" id="hihi" value="hihi" v-model="formData.checkedValues">
<label for="hihi">嘻嘻</label>
<br>
多选选中的是<span v-for="value of formData.checkedValues"> {{value}} </span>
<br>
<!-- 单选 -->
<input type="radio" id="one" value="one" v-model="formData.pickedValue">
<label for="one">one</label>
<input type="radio" id="two" value="two" v-model="formData.pickedValue">
<label for="two">two</label>
<input type="radio" id="three" value="three" v-model="formData.pickedValue">
<label for="three">three</label>
<br>
单选选中的是<span> {{formData.pickedValue}} </span>
<br>
<!-- 下拉选择框 -->
<select v-model="formData.selectedValue">
<option disabled value="">请选择</option>
<option>A</option>
<option>B</option>
<option>C</option>
</select>
<br>
下拉选择框选中的是<span> {{formData.selectedValue}} </span>
<br>
<a @click="submitForm">提交</a>
</form>
</div>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
formData: {
textValue: '',
textareaValue: '',
isChecked: true,
checkedValues: [],
pickedValue:'',
selectedValue: ''
},
msg: '这是一句消息'
},
methods: {
submitForm: function(){
for(var key in this.formData) {
obj[key] = this.formData[key];
}
console.log(this.formData);
console.log(this.msg);
}
}
});
</script>
</body>
</html>

Vue学习计划基础笔记(五) - 表单输入绑定、组件基础的更多相关文章

  1. Vue.js教程--基础2(事件处理 表单输入绑定

    事件处理 表单输入绑定 事件处理 监听v-on 监听 DOM 事件,并在触发时运行一些 JavaScript 代码. 可以在v-on:click=''加内联语句. 有时也需要在内联语句处理器中访问原始 ...

  2. vue学习笔记(六)表单输入绑定

    前言 在上一章vue学习笔记(四)事件处理器这一篇博客的内容中,我们已经了解vue是如何绑定事件的,而本篇博客主要讲解的是vue中表单输入的绑定,通常我们自己提交信息的时候都是通过表单将信息到服务器的 ...

  3. Vue 学习笔记之 —— 表单输入绑定

    Vue 中文文档 https://cn.vuejs.org/ 不多说,直接上干货. v-model 指定,用来在input textarea 等表单元素上创建双向数据绑定,负责监听用户的输入事件,以及 ...

  4. Vue.js学习笔记--3.表单输入绑定

    整理自官网教程 -- https://cn.vuejs.org/ 利用v-model可以实现表单元素的value与后台数据的双向绑定,具体用法如下: <!--文本--> <input ...

  5. Blazor和Vue对比学习(基础1.9):表单输入绑定和验证,VeeValidate和EditFrom

    这是基础部分的最后一章,内容比较简单,算是为基础部分来个HappyEnding.我们分三个部分来学习: 表单输入绑定 Vue的表单验证:VeeValidate Blazor的表单验证:EditForm ...

  6. 前端MVC Vue2学习总结(五)——表单输入绑定、组件

    一.表单输入绑定 1.1.基础用法 你可以用 v-model 指令在表单控件元素上创建双向数据绑定.它会根据控件类型自动选取正确的方法来更新元素.尽管有些神奇,但 v-model 本质上不过是语法糖, ...

  7. Vue的指令系统、计算属性和表单输入绑定

    指令系统 指令 (Directives) 是带有 v- 前缀的特殊特性.指令特性的值预期是单个 JavaScript 表达式 (v-for 是例外情况,稍后我们再讨论).指令的职责是,当表达式的值改变 ...

  8. Vue表单输入绑定(文本框和复选框)

    文本框 <!DOCTYPE html><html>    <head>        <meta charset="utf-8">  ...

  9. VUE:事件处理和表单输入绑定

    事件处理 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...

随机推荐

  1. PHP面试系列 之Linux(五)---- 案例

    题:如何实现每天0点重新启动服务器? 答: (1)创建定时任务,并进行编辑 crontab -e (2)编写脚本内容 * * * reboot 0分  0时  每日  每月  每周 执行的命令:reb ...

  2. 【luogu P3953 逛公园】 题解

    题目链接:https://www.luogu.org/problemnew/show/P3953 题外话:感觉2017年神题好多..这还不是最神的一道,真在考场上我也就写个最短路计数暴力了.现在在大佬 ...

  3. 安装Windows7步骤

    我初次装Linux系统的时候,查过一些资料,然后也有网友教过我,这里做一个总结,和大家分享一下(U盘安装).       事实上我们平时电脑开机的时候,是有个启动顺序的,他并非直接进入我们的操作系统, ...

  4. jdk1.8换成1.7

    电脑中装了jdk1.7,然后又装了1.8, 后来项目需要1.7,就把path环境变量中的java_home改成了1.7. 然后控制台输入java_version,后提示如下: Error: Regis ...

  5. iOS下ajax回调函数里不能播放audio

    iOS下audio必须监测到事件才可播放, ajax回调函数里不能播放 解决办法 在点击方法里先播放然后立即暂停,在回调函数里重新播放 onclick(function(){ $("#_wx ...

  6. GBK 文件在 sublime 保存时被强制保存为 utf-8 导致中文乱码, 恢复。

    原来在 CoverteToUTF8 的 README.zh_CN.md 文件里就有解决方法,如下: * 问:我的文件被保存为 UTF-8,而且变成了乱码,要如何恢复? 答:请打开这个文件,并确认它的编 ...

  7. centos7添加新网卡实现双IP双网关

     问题背景: 业务需要,针对业务需要不同地域的机构访问,所以需要在同一台机器上配置不同IP并配置不同网关,实现不用机构可以访问同一台服务器办理业务. 系统环境: centos linux7 网络环境: ...

  8. error:0906D064:PEM routines:PEM_read_bio:bad base64 decode

    今天在使用easywechat对接企业打款到银行卡时,遇到了两个错误 error:0906D064:PEM routines:PEM_read_bio:bad base64 decode 和 erro ...

  9. Js错误: obj.parents is not a function

    代码:      (1)  <div class="ViewMore" id="viewmore${i}" onclick="CLICK(thi ...

  10. 在Eclipse上编写Go项目

     Note for users in China Note: if you are behind the Great Firewall of China, you are very likely to ...