第一次接触神奇的前端框架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 EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
Oct 21 Javascript
详谈jQuery操纵DOM元素属性 attr()和removeAtrr()方法
Jan 22 Javascript
JavaScript日期类型的一些用法介绍
Mar 02 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
Nov 23 Javascript
vue2.0+webpack环境的构造过程
Nov 08 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
Dec 08 Javascript
JavaScript之underscore_动力节点Java学院整理
Jul 03 Javascript
jQuery 中msgTips 顶部弹窗效果实现代码
Aug 14 jQuery
原生js检测页面加载完毕的实例
Sep 11 Javascript
js根据json数据中的某一个属性来给数据分组的方法
Oct 08 Javascript
javascript判断一个变量是数组还是对象
Apr 10 Javascript
Vue 动态组件components和v-once指令的实现
Aug 30 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对现有搜索引擎的调用
2013/06/25 PHP
如何使用php判断服务器是否是HTTPS连接
2013/07/05 PHP
PHP文件上传主要代码讲解
2013/09/30 PHP
Yii扩展组件编写方法实例分析
2015/06/29 PHP
javascript基础的动画教程,直观易懂
2007/01/10 Javascript
IE和Firefox下event事件杂谈
2009/12/18 Javascript
Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
2010/03/27 Javascript
向当前style sheet中插入一个新的style实现方法
2013/04/01 Javascript
JS分页效果示例
2013/10/11 Javascript
JS实现的一个简单的Autocomplete自动完成例子
2014/04/16 Javascript
jquery计算鼠标和指定元素之间距离的方法
2015/06/26 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
2017/12/22 Javascript
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
关于ES6尾调用优化的使用
2020/09/11 Javascript
Vue切换Tab动态渲染组件的操作
2020/09/21 Javascript
vue-cli3自动消除console.log()的调试信息方式
2020/10/21 Javascript
使用PYTHON创建XML文档
2012/03/01 Python
Python基本数据类型详细介绍
2014/03/11 Python
浅析Python中的join()方法的使用
2015/05/19 Python
深度定制Python的Flask框架开发环境的一些技巧总结
2016/07/12 Python
python实现八大排序算法(2)
2017/09/14 Python
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
python实现爬山算法的思路详解
2019/04/09 Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
2019/05/21 Python
Python_查看sqlite3表结构,查询语句的示例代码
2019/07/17 Python
Python图像阈值化处理及算法比对实例解析
2020/06/19 Python
Python操作Excel的学习笔记
2021/02/18 Python
股权转让协议书范本
2014/04/12 职场文书
出国留学担保书
2014/05/20 职场文书
消防安全宣传口号
2014/06/10 职场文书
森林防火宣传标语
2014/06/27 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
2019年教师节祝福语精选,给老师送上真诚的祝福
2019/09/09 职场文书
SpringDataJPA在Entity中常用的注解介绍
2021/12/06 Java/Android
ipad隐藏软件app图标方法
2022/04/19 数码科技