第一次接触神奇的前端框架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 相关文章推荐
Apply an AutoFormat to an Excel Spreadsheet
Jun 12 Javascript
Ext.get() 和 Ext.query()组合使用实现最灵活的取元素方式
Sep 26 Javascript
使用jquery动态加载javascript以减少服务器压力
Oct 29 Javascript
怎么清空javascript数组
May 11 Javascript
node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用
Nov 04 Javascript
js实现获取两个日期之间所有日期的方法
Jun 17 Javascript
JS实现刷新父页面不弹出提示框的方法
Jun 22 Javascript
自定义require函数让浏览器按需加载Js文件
Nov 24 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
Mar 15 Javascript
Bootstrap实现的经典栅格布局效果实例【附demo源码】
Mar 30 Javascript
Express的HTTP重定向到HTTPS的方法
Jun 06 Javascript
vue中的ref和$refs的使用
Nov 22 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
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
2014/11/24 PHP
bcastr2.0 通用的图片浏览器
2006/11/22 Javascript
JS 页面内容搜索,类似于 Ctrl+F功能的实现代码
2007/08/13 Javascript
js 操作css实现代码
2009/06/11 Javascript
如何获取JQUERY AJAX返回的JSON结果集实现代码
2012/12/10 Javascript
JavaScript中的变量定义与储存介绍
2014/12/31 Javascript
jQuery遍历json的方法(推荐)
2016/06/12 Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
2016/07/09 Javascript
protractor的安装与基本使用教程
2017/07/07 Javascript
基于vue-cli创建的项目的目录结构及说明介绍
2017/11/23 Javascript
详解js跨域请求的两种方式,支持post请求
2018/05/05 Javascript
Vue2 添加数据可视化支持的方法步骤
2019/01/02 Javascript
微信小程序实现pdf、word等格式文件上传的方法
2019/09/10 Javascript
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
Python内置函数Type()函数一个有趣的用法
2015/02/18 Python
对python中执行DOS命令的3种方法总结
2018/05/12 Python
Django框架实现的简单分页功能示例
2018/12/04 Python
python实现向微信用户发送每日一句 python实现微信聊天机器人
2019/03/27 Python
Python实现时间序列可视化的方法
2019/08/06 Python
简单了解python协程的相关知识
2019/08/31 Python
python的json包位置及用法总结
2020/06/21 Python
python爬虫 requests-html的使用
2020/11/30 Python
html5 application cache遇到的严重问题
2012/12/26 HTML / CSS
肯尼亚网上商城:Kilimall
2016/08/20 全球购物
实习老师个人总结的自我评价
2013/09/28 职场文书
酒店led欢迎词
2014/01/09 职场文书
核心价值观演讲稿
2014/05/13 职场文书
珍惜资源保护环境的建议书
2014/05/14 职场文书
基本公共卫生服务健康教育工作方案
2014/05/22 职场文书
汇报材料怎么写
2014/12/30 职场文书
综合测评自我评价
2015/03/06 职场文书
心理学培训心得体会
2016/01/22 职场文书
2016年机关单位节能宣传周活动总结
2016/04/05 职场文书
pandas取dataframe特定行列的实现方法
2021/05/24 Python
SpringBoot+VUE实现数据表格的实战
2021/08/02 Java/Android
详解Python中*args和**kwargs的使用
2022/04/07 Python