第一次接触神奇的前端框架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 相关文章推荐
最简单的js图片切换效果实现代码
Sep 24 Javascript
jquery中map函数与each函数的区别实例介绍
Jun 23 Javascript
jquery实现翻动fadeIn显示的方法
Mar 05 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
Jun 23 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
Sep 14 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
Sep 17 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
Jun 08 Javascript
bootstrap多种样式进度条展示
Dec 20 Javascript
Vue中img的src属性绑定与static文件夹实例
May 18 Javascript
vue 2.8.2版本配置刚进入时候的默认页面方法
Sep 21 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
Apr 09 Javascript
EXTJS7实现点击拖拉选择文本
Dec 17 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垃圾代码优化操作代码
2010/08/05 PHP
php 大数据量及海量数据处理算法总结
2011/05/07 PHP
探讨捕获php错误信息方法的详解
2013/06/09 PHP
Php中使用Select 查询语句的实例
2014/02/19 PHP
JavaScript编程开发中的五个实用小技巧
2010/07/22 Javascript
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
2011/06/02 Javascript
60个很实用的jQuery代码开发技巧收集
2014/12/15 Javascript
jQuery前端分页示例分享
2015/02/10 Javascript
自动完成的搜索框javascript实现
2016/02/26 Javascript
jquery siblings获取同辈元素用法实例分析
2016/07/25 Javascript
JS类的定义与使用方法深入探索
2016/11/26 Javascript
深入理解JavaScript中的尾调用(Tail Call)
2017/02/07 Javascript
javascript 显示全局变量与隐式全局变量的区别
2017/02/09 Javascript
详解vue.js的devtools安装
2017/05/26 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
教你如何编写Vue.js的单元测试的方法
2018/10/17 Javascript
Node.js Event Loop各阶段讲解
2019/03/08 Javascript
ES6中字符串的使用方法扩展
2019/06/04 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
2020/02/04 jQuery
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
Python制作简易注册登录系统
2016/12/15 Python
Python学习小技巧之列表项的拼接
2017/05/20 Python
详解Python3操作Mongodb简明易懂教程
2017/05/25 Python
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
用Python一键搭建Http服务器的方法
2018/06/01 Python
Django项目uwsgi+Nginx保姆级部署教程实现
2020/04/19 Python
python中的错误如何查看
2020/07/08 Python
pyqt5实现井字棋的示例代码
2020/12/07 Python
日本著名的平价时尚女性购物网站:Fifth
2016/08/24 全球购物
端午节粽子促销活动方案
2014/02/02 职场文书
大学新生军训方案
2014/05/03 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书
学校党的群众路线教育实践活动总结材料
2014/10/30 职场文书
毕业实习指导教师评语
2014/12/31 职场文书
尼克胡哲观后感
2015/06/08 职场文书
合同补充协议书
2016/03/24 职场文书