最近项目中使用了vue替代繁琐的jquery处理dom的数据更新,个人非常喜欢,所以就上官网小小地实践了一把。

以下为表单控件的实践,代码敬上,直接新建html文件,粘贴复制即可看到效果~

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>PlayAround2 Have Fun</title>
<script src="https://cdn.jsdelivr.net/vue/1.0.26/vue.min.js"></script>
<style>
h2{
text-decoration:underline;
}
.red{
color: red;
}
.green{
color: green;
}
</style>
</head>
<body>
<div id="app"> <h2>checkBox</h2>
<input type="checkbox" v-model="checked">
<label>{{checked}}</label> <h2>multi checkbox</h2>
<input type="checkbox" id="Kobe" value="Kobe" v-model="names">
<label for="Kobe">Kobe</label>
<input type="checkbox" id="Curry" value="Curry" v-model="names">
<label for="Curry">Curry</label>
<input type="checkbox" id="Aaron" value="Aaron" v-model="names">
<label for="Aaron">Aaron</label>
<br>
<span>Checked names: {{names | json}}</span> <h2>Radio</h2>
<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>
<br>
<span>Picked: {{picked}}</span> <h2>Select</h2>
<select v-model="selected">
<option selected>Kobe</option>
<option>Curry</option>
<option>Aaron</option>
</select>
<span>Selected: {{selected}}</span> <h2>Multi Select</h2>
<select multiple v-model="multiSelected">
<option>Kobe</option>
<option>Curry</option>
<option>Aaron</option>
</select>
<span>Selected: {{multiSelected}}</span> <h2>Select with for</h2>
<select v-model="selectedPlayer">
<option v-for="option in options" :value="option.value">{{option.text}}</option>
</select>
<span>Selected: {{selectedPlayer}}</span> <h2>Lazy-改变更新的事件从input->change</h2>
<input v-model="msg" lazy>
<span>Msg:{{msg}}</span> <h2>Number(没啥吊用。。。.2->0.2,仅此而已吗?)</h2>
<input v-model="age" number>
<span>age:{{age}}</span> <h2>debounce-延迟更新view</h2>
<p>Edit me<input v-model="delayMsg" debounce="500"></p>
<span>delayMsg:{{delayMsg}}</span> </div> <script>
var vm = new Vue({
el:"#app",
data:{
checked:false,
names:[],
picked:"",
selected:"",
multiSelected:"",
options:[
{text:"Kobe",value:"Bryant"},
{text:"Stephen",value:"Curry"},
{text:"Aaron",value:"Kong"}
],
selectedPlayer:"",
msg:"",
age:"",
delayMsg:""
},
methods:{ }
})
</script>
</body>
</html>

使用vue的几个优点:

1、只需关注model层的数据处理,无需处理复杂的view层更新,vue会在model改变时自动对view层进行更新;

2、vue提供一系列的小工具帮助开发者处理数据绑定中得问题,比如computed可以提供计算的扩展,还有过滤器、排序等支持;

3、代码简洁,分层清晰。html里进行数据绑定,js里只需处理数据以及后台交互;

4、提供自定义组件功能,进一步规范前端架构。目前暂时没有使用,后续研究研究。

以上就是目前使用vue的心得,暂时没有发现啥缺点,可能还不太深入,总体来说体验非常不错!:)

Vue.js学习笔记——表单控件实践的更多相关文章

  1. Vue.js学习 Item9 – 表单控件绑定

    基础用法 可以用 v-model 指令在表单控件元素上创建双向数据绑定.根据控件类型它自动选取正确的方法更新元素.尽管有点神奇,v-model 不过是语法糖,在用户输入事件中更新数据,以及特别处理一些 ...

  2. vue.js 2的表单控件

    静下心,抄一段sample,以后可以快点到这里来抄...: <!DOCTYPE html> <html> <head> <meta charset=" ...

  3. Vue 监视数据总结 && 表单控件使用总结

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...

  4. MiniUI学习笔记1-表单控件

    1.输入框样式 class="mini-textbox" //普通输入框 class="mini-password" //密码输入框 class="m ...

  5. Vue.js学习笔记 第七篇 表单控件绑定

    本篇主要说明表单控件的数据绑定,这次没有新的知识点 文本框 1.普通文本框 <div id="app-1"> <p><input v-model=&q ...

  6. vue.js基础知识篇(3):计算属性、表单控件绑定

    第四章:计算属性 为了避免过多的逻辑造成模板的臃肿不堪,可使用计算属性来简化逻辑. 1.什么是计算属性 <!DOCTYPE html><html lang="en" ...

  7. Vue.js 学习笔记 第6章 表单与v-model

    本篇目录: 6.1 基本用法 6.2 绑定值 6.3 修饰符 表单类控件承载了一个网页数据的录入与交互,本章将介绍如何使用指令v-model完成表单的数据双向绑定. 6.1 基本用法 表单控件在实际业 ...

  8. Vue表单控件绑定

    前面的话 本文将详细介绍Vue表单控件绑定 基础用法 可以用 v-model 指令在表单控件元素上创建双向数据绑定.它会根据控件类型自动选取正确的方法来更新元素.v-model本质上不过是语法糖,它负 ...

  9. vue表单控件绑定(表单数据的自动收集)

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

随机推荐

  1. ORA-00600: internal error code, arguments: [kgl-no-mutex-held]

    一.环境 windows oracle 11.2.0.4 RAC 二.问题现象 1.连接数据库后,无法查询 2.报错信息:ORA-00600: internal error code, argumen ...

  2. 解决Ubuntu刚装好的时候su命令密码错误的问题

    Ubuntu刚安装后,在terminal中运行su命令会要求输入密码,然而无论输什么都会错,直接回车也是错,这因为root没有默认密码,需要手动设定.以安装ubuntu时输入的用户名登陆,该用户在ad ...

  3. 认识OpenStack中的flatnetwork

    目录 [隐藏] 1 Understanding FlatNetworking 1.1 FlatNetworking 1.1.1 Single Adapter, All in one setup 1.1 ...

  4. vue.js - 解决vue-cli打包后自动压缩代码

    一.webpack中引入的压缩代码 /build/webpack.prod.conf.js const OptimizeCSSPlugin = require('optimize-css-assets ...

  5. MFC修改窗口无标题和标题信息,修改执执行文件图标

    一.创建MFC后 窗口显示的是 无标题-工程名 修改方法在网上看到了几种,下面介绍下比较简单的一种: 1.在MianFrame.c文件中找到这个函数 BOOL CMainFrame::PreCreat ...

  6. python requests模块中返回时间elapsed解析

    一.问题: Python 中requests库在发送http请求时相当方便好用,但在使用时一直受一个问题困扰,怎么才能查看请求时长呢? 自己写时间函数再相减?NO,这个方法肯定不行. 二.解决: 好吧 ...

  7. [转]Android MediaPlayer状态机

    翻译Android Reference Manual的MediaPlayer的状态机 对播放音频/视频文件和流的控制是通过一个状态机来管理的.下图显示一个MediaPlayer对象被支持的播放控制操作 ...

  8. 1.8TF的分类

    TF识别手写体识别分类 #-*- coding: utf-8 -*- # @Time : 2017/12/26 15:42 # @Author : Z # @Email : S # @File : 1 ...

  9. NET技术公众号已上线

    各位兄弟姐妹,本人构建技术微信号已正式上线,后续的技术分享主要以微信公众号为主,博客为铺,请各位有兴趣的同学关注. 微信公众号(wx51dotnet):

  10. Hdu1010Tempter of the Bone 深搜+剪枝

    题意:输入x,y,t.以及一个x行y列的地图,起点‘S’终点‘D’地板‘.’墙壁‘X’:判断能否从S正好走t步到D. 题解:dfs,奇偶性减枝,剩余步数剪枝. ps:帮室友Debug的题:打错了两个字 ...