第一次接触神奇的前端框架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 相关文章推荐
JQuery 操作/获取table具体代码
Jun 13 Javascript
jquery获取选中的文本和值的方法
Jul 08 Javascript
用js判断是否为360浏览器的实现代码
Jan 15 Javascript
js实现每日自动换一张图片的方法
May 04 Javascript
JS简单获取当前年月日星期的方法示例
Feb 07 Javascript
基于 Vue 实现一个酷炫的 menu插件
Nov 14 Javascript
Vue中render函数的使用方法
Jan 31 Javascript
vue 实现边输入边搜索功能的实例讲解
Sep 16 Javascript
mocha的时序规则讲解
Feb 16 Javascript
js+html5 canvas实现ps钢笔抠图
Apr 28 Javascript
bootstrap-table+treegrid实现树形表格
Jul 26 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
Aug 20 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
在Windows XP下安装Apache+MySQL+PHP环境
2015/02/22 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
Jquery 在页面加载后执行的几种方式
2014/03/14 Javascript
jquery获取复选框被选中的值
2014/04/10 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
2014/12/10 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
jQuery实现简易的输入框字数计数功能示例
2017/01/16 Javascript
vue2.0 路由不显示router-view的解决方法
2018/03/06 Javascript
Vue 表情包输入组件的实现代码
2019/01/21 Javascript
Node.js爬虫如何获取天气和每日问候详解
2019/08/26 Javascript
Antd中单个DatePicker限定时间输入范围操作
2020/10/29 Javascript
Python实现提取谷歌音乐搜索结果的方法
2015/07/10 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
2018/02/26 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
python 处理string到hex脚本的方法
2018/10/26 Python
python自定义线程池控制线程数量的示例
2019/02/22 Python
python是否适合网页编程详解
2019/10/04 Python
python的time模块和datetime模块实例解析
2019/11/29 Python
Python图像处理库PIL中图像格式转换的实现
2020/02/26 Python
pycharm如何实现跨目录调用文件
2020/02/28 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
介绍CSS3使用技巧5个
2009/04/02 HTML / CSS
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
国贸类专业毕业生的求职信分享
2013/12/08 职场文书
幼儿园开学家长寄语
2014/01/19 职场文书
关于期中考试的反思
2014/02/02 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
销售员态度差检讨书
2014/10/26 职场文书
学校领导班子成员查摆问题及整改措施
2014/10/28 职场文书
2014年审计人员工作总结
2014/12/19 职场文书
如何写观后感
2015/06/19 职场文书
《自己去吧》教学反思
2016/02/16 职场文书
2016年妇联“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书
CSS3 实现NES游戏机的示例代码
2021/04/21 HTML / CSS
Apache Pulsar集群搭建部署详细过程
2022/02/12 Servers