第一次接触神奇的前端框架vue.js


Posted in Javascript onDecember 01, 2016

前言

    入手2016最火前端框架之一vue.js。大概从网上找了些资料看了下vue.js,从网上的资料来看只能惊叹其发展速度太快,让我意外的是其作者是华人的前提下作品这么受欢迎。 网上的博客和教程各种组合。以至于我都有些感觉out。各种vue+webpack、vue+react、vue+es6+npm等等。琳琅满目。真是三天不学习赶不上刘少奇。

    开篇主要是初次了解下vue.js,包括v-model、v-if、v-else、v-show、v-for(2.0对$index和$key舍弃,2.0要用index属性语法为  v-for="(person,index) in persons")、v-on。 

看图

第一次接触神奇的前端框架vue.js

看代码

<!DOCTYPE html>
<html>

<head>
 <meta charset="UTF-8">
 <title>Vue.js CURD</title>
 <meta id="viewport" name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1">
 <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css">
 <script src="https://unpkg.com/vue/dist/vue.js"></script>
</head>

<body>
 <div class="row" id="app">
 <div class="col-xs-12 col-md-8">
 <fieldset>
 <legend>New Person</legend>
 <div class="form-group">
 <label>ID</label>
 <input type="text" v-model="newPerson.id"/>
 </div>
 <div class="form-group">
 <label>Name:</label>
 <input type="text" v-model="newPerson.name"/>
 </div>
 <div class="form-group">
 <label>Age:</label>
 <input type="text" v-model="newPerson.age"/>
 </div>
 <div class="form-group">
 <label>Sex:</label>
 <select v-model="newPerson.sex">
 <option value="Male">Male</option>
 <option value="Female">Female</option>
 </select>
 </div>
 <div class="form-group">
 <label></label>
 <button @click="createorupdate">ok</button>
 </div>
 </fieldset>
 </div>
 <div class="col-xs-12 col-md-8">
 <table class="table table-striped">
 <thead>
 <tr>
 <th>Id</th>
 <th>name</th>
 <th>age</th>
 <th>sex</th>
 </tr>
 </thead>
 <tbody>
 <tr v-for="(person,index) in persons">
 <td>{{person.id}}</td>
 <td>{{person.name}}</td>
 <td>{{person.age}}</td>
 <td>{{person.sex}}</td>
 <td><button @click="deletePerson(index)">delete</button></td>
 <td><button @click="update(index)">update</button></td>
 </tr>
 </tbody>
 </table>
 </div>

 </div>
 <script>

 Array.prototype.arrIndex=function(obj){
 for(let i=0;i<this.length;i++){
 var tmp=this[i];
 if(tmp==obj){
 return i;
 }
 }
 }

 var vm=new Vue({
 el:'#app',
 data:{
 editLock:1,
 newPerson:{
 id:0,
 name:'',
 age:0,
 sex:'male'
 },
 persons:[{
 id:1,
 name: 'Jack',
 age: 30,
 sex: 'Male'
 }, {
 id:2,
 name: 'Bill',
 age: 26,
 sex: 'Male'
 }, {
 id:3,
 name: 'Tracy',
 age: 22,
 sex: 'Female'
 }, {
 id:4,
 name: 'Chris',
 age: 36,
 sex: 'Male'
 }]
 },
 methods:{
 create:function(){
 this.persons.push(this.newPerson);
 this.newPerson={id:0,name:'',age:0,sex:'male'};
 },
 createorupdate:function(){
 if(this.editLock===1){
 this.persons.push(this.newPerson);
 }else{
 //删除老对象
 var aindex=this.persons.arrIndex(this.newPerson);
 console.log(aindex);
 this.persons.splice(aindex,1);
 //插入新对象
 this.persons.push(this.newPerson);
 }

 this.newPerson={id:0,name:'',age:0,sex:'male'};
 },
 deletePerson:function(idx){
 this.persons.splice(idx,1);

 },
 update:function(idx){
 var p =this.persons[idx];
 this.editLock=0;
 this.newPerson=p;
 }

 }
 })
 </script>
</body>

</html>

参考资料:

本文已被整理到了《Vue.js前端组件学习教程》,欢迎大家学习阅读。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript中instanceof运算符的用法总结
Nov 19 Javascript
js验证身份证号有效性并提示对应信息
Oct 19 Javascript
简单理解js的冒泡排序
Dec 19 Javascript
JS实现随机颜色的3种方法与颜色格式的转化
Jan 05 Javascript
javascript验证香港身份证的格式或真实性
Feb 07 Javascript
详解微信小程序 通过控制CSS实现view隐藏与显示
May 24 Javascript
JavaScript实现三级联动菜单效果
Aug 16 Javascript
html中通过JS获取JSON数据并加载的方法
Nov 30 Javascript
vue input输入框模糊查询的示例代码
May 22 Javascript
Nuxt.js开启SSR渲染的教程详解
Nov 30 Javascript
基于vue实现圆形菜单栏组件
Jul 05 Javascript
浅析Vue 防抖与节流的使用
Nov 14 Javascript
bootstrapValidator自定验证方法写法
Dec 01 #Javascript
jQuery生成假加载动画效果
Dec 01 #Javascript
解析AngularJS中get请求URL出现的跨域问题
Dec 01 #Javascript
浅谈js键盘事件全面控制
Dec 01 #Javascript
jstree的简单实例
Dec 01 #Javascript
Vue.JS入门教程之事件监听
Dec 01 #Javascript
BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析
Dec 01 #Javascript
You might like
PHP中GET变量的使用
2006/10/09 PHP
PHP初学入门
2006/11/19 PHP
PHP多维数组转一维数组的简单实现方法
2015/12/23 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
2016/01/07 PHP
深入理解PHP中的count函数
2016/05/31 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
2018/05/30 PHP
调用DOM对象的focus使文本框获得焦点
2014/02/19 Javascript
jQuery结合ajax实现动态加载文本内容
2015/05/19 Javascript
js获取及判断键盘按键的方法
2015/12/01 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
2016/03/11 Javascript
JS实现太极旋转思路分析
2016/12/09 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
2020/02/12 Javascript
详解微信小程序「渲染层网络层错误」的解决方法
2021/01/06 Javascript
[02:06]2018完美世界全国高校联赛秋季赛开始报名(附彩蛋)
2018/09/03 DOTA
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
使用python爬虫实现网络股票信息爬取的demo
2018/01/05 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
2019/09/25 Python
python 初始化一个定长的数组实例
2019/12/02 Python
django模型动态修改参数,增加 filter 字段的方式
2020/03/16 Python
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
英国标准协会商店:BSI Shop
2019/02/25 全球购物
医学毕业生自荐信
2013/10/11 职场文书
父亲追悼会答谢词
2014/01/17 职场文书
《我为你骄傲》教学反思
2014/02/20 职场文书
司法所长先进事迹
2014/06/02 职场文书
住房抵押登记委托书
2014/09/27 职场文书
股权转让协议范本
2014/12/07 职场文书
培训师岗位职责
2015/02/14 职场文书
人事任命书范本
2015/09/21 职场文书
护士自荐信范文(2016推荐篇)
2016/01/28 职场文书
《少年闰土》教学反思
2016/02/18 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书
《乙女游戏世界对路人角色很不友好》OP主题曲无字幕动画MV公开
2022/04/05 日漫