第一次接触神奇的前端框架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 相关文章推荐
070823更新的一个[消息提示框]组件 兼容ie7
Aug 29 Javascript
用cssText批量修改样式
Aug 29 Javascript
javascript 按回车键相应按钮提交事件
Nov 02 Javascript
jQuery控制iFrame(实例代码)
Nov 19 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
Apr 10 Javascript
js 右侧浮动层效果实现代码(跟随滚动)
Nov 22 Javascript
浅析location.href跨窗口调用函数
Nov 22 Javascript
在vue中,v-for的索引index在html中的使用方法
Mar 06 Javascript
JavaScript执行环境及作用域链实例分析
Aug 01 Javascript
Bootstrap模态对话框中显示动态内容的方法
Aug 10 Javascript
详解如何更好的使用module vuex
Mar 27 Javascript
使用原生javascript开发计算器实例代码
Feb 21 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/11/01 PHP
使用array_map简单搞定PHP删除文件、删除目录
2014/10/29 PHP
php实现分页显示
2015/11/03 PHP
Yii实现Command任务处理的方法详解
2016/07/14 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
PHP设计模式之简单工厂和工厂模式实例分析
2019/03/25 PHP
Javascript 文件夹选择框的两种解决方案
2009/07/01 Javascript
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
2013/01/09 Javascript
js自动生成对象的属性示例代码
2013/10/28 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
2013/11/03 Javascript
javascript按位非运算符的使用方法
2013/11/14 Javascript
JavaScript的ExtJS框架中表格的编写教程
2016/05/21 Javascript
非常酷炫的Bootstrap图片轮播动画
2016/05/27 Javascript
Angular 输入框实现自定义验证功能
2017/02/19 Javascript
Vue响应式原理深入解析及注意事项
2017/12/11 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
详解微信小程序审核不通过的解决方法
2018/01/17 Javascript
Vue 样式绑定的实现方法
2019/01/15 Javascript
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
js实现无缝滚动双图切换效果
2019/07/09 Javascript
axios实现文件上传并获取进度
2020/03/25 Javascript
小程序自动化测试的示例代码
2020/08/11 Javascript
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
Python基于内置库pytesseract实现图片验证码识别功能
2020/02/24 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
2020/10/15 Python
python 匿名函数与三元运算学习笔记
2020/10/23 Python
python tqdm实现进度条的示例代码
2020/11/10 Python
基于HTML5的WebSocket的实例代码
2018/08/15 HTML / CSS
加拿大租车网站:Enterprise Rent-A-Car
2018/07/26 全球购物
瑞士最大的图书贸易公司:Orell Füssli
2019/12/28 全球购物
大三在校生电子商务求职信
2013/10/29 职场文书
Django开发RESTful API实现增删改查(入门级)
2021/05/10 Python
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android
Win11安装受阻怎么办? Windows11安装问题与解决方案汇总
2021/11/21 数码科技