第一次接触神奇的前端框架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在IE7下无法使用 $.ajax解决方法
Nov 11 Javascript
用js实现输入提示(自动完成)的实例代码
Jun 14 Javascript
将文本输入框内容加入表中的js代码
Aug 18 Javascript
js判断字符是否是汉字的两种方法小结
Jan 03 Javascript
js 日期比较相关天数代码
Apr 02 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
Oct 30 Javascript
微信小程序实现跟随菜单效果和循环嵌套加载数据
Nov 21 Javascript
详解基于electron制作一个node压缩图片的桌面应用
Jan 29 Javascript
微信小程序登录态和检验注册过没的app.js写法
May 22 Javascript
vue+element树组件 实现树懒加载的过程详解
Oct 21 Javascript
JS实现百度搜索框关键字推荐
Feb 17 Javascript
vue实现书本翻页动画效果实例详解
Apr 08 Vue.js
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 网页游戏开发入门教程一(webgame+design)
2009/10/26 PHP
Yii2实现ajax上传图片插件用法
2016/04/28 PHP
PHP会员找回密码功能的简单实现
2016/09/05 PHP
LNMP部署laravel以及xhprof安装使用教程
2017/09/14 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
2017/10/10 PHP
使用Apache的rewrite
2021/03/09 Servers
Javascript 更新 JavaScript 数组的 uniq 方法
2008/01/23 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
2013/04/15 Javascript
js单词形式的运算符
2014/05/06 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
2014/12/08 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
ubuntu下安装nodejs以及升级的办法
2015/05/08 NodeJs
javascript事件委托的方式绑定详解
2015/06/10 Javascript
JS+CSS相对定位实现的下拉菜单
2015/10/06 Javascript
element ui 对话框el-dialog关闭事件详解
2018/02/26 Javascript
微信小程序项目实践之主页tab选项实现
2018/07/18 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
python 打印对象的所有属性值的方法
2016/09/11 Python
django 按时间范围查询数据库实例代码
2018/02/11 Python
基于python的多进程共享变量正确打开方式
2018/04/28 Python
python爬取网易云音乐评论
2018/11/16 Python
kafka监控获取指定topic的消息总量示例
2019/12/23 Python
Python打印不合法的文件名
2020/07/31 Python
Python eval函数介绍及用法
2020/11/09 Python
使用css3制作登录表单的步骤
2014/04/07 HTML / CSS
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
荷兰在线钓鱼商店:Raven
2019/06/26 全球购物
求网格中的黑点分布
2013/11/06 面试题
实习单位意见
2015/06/04 职场文书
发票退票证明
2015/06/24 职场文书
朋友离别感言
2015/08/04 职场文书
CSS 还能这样玩?奇思妙想渐变的艺术
2021/04/27 HTML / CSS
python基于tkinter制作下班倒计时工具
2021/04/28 Python
解决golang post文件时Content-Type出现的问题
2021/05/02 Golang
原生JavaScript实现简单五子棋游戏
2021/06/28 Javascript
Python+Tkinter制作专属图形化界面
2022/04/01 Python