第一次接触神奇的前端框架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 相关文章推荐
javascript显示选择目录对话框的代码
Nov 10 Javascript
jQuery的初始化与对象构建之浅析
Apr 12 Javascript
jQuery实现页面顶部显示的进度条效果完整实例
Dec 09 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
Dec 22 Javascript
html5+javascript实现简单上传的注意细节
Apr 18 Javascript
JS判断来路是否是百度等搜索索引进行弹窗或自动跳转的实现代码
Oct 09 Javascript
JavaScript实现左右下拉框动态增删示例
Mar 09 Javascript
AngularJS ionic手势事件的使用总结
Aug 09 Javascript
vue proxyTable 接口跨域请求调试的示例
Sep 12 Javascript
详解PHP后期静态绑定分析与应用
Mar 21 Javascript
vue-router结合vuex实现用户权限控制功能
Nov 14 Javascript
Vue-cli 移动端布局和动画使用详解
Aug 10 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
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
2013/06/02 PHP
由document.body和document.documentElement想到的
2009/04/13 Javascript
深入理解JavaScript系列(11) 执行上下文(Execution Contexts)
2012/01/15 Javascript
JQuery中$.each 和$(selector).each()的区别详解
2015/03/13 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
2016/04/17 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
2016/05/05 Javascript
前端性能优化及技巧
2016/05/06 Javascript
JavaScript之map reduce_动力节点Java学院整理
2017/06/29 Javascript
Angular2环境搭建具体操作步骤(推荐)
2017/08/04 Javascript
node.js操作MongoDB的实例详解
2017/10/11 Javascript
微信小程序wx:for和wx:for-item的用法详解
2018/04/01 Javascript
如何使node也支持从url加载一个module详解
2018/06/05 Javascript
关于layui 下拉列表的change事件详解
2019/09/20 Javascript
js单线程的本质 Event Loop解析
2019/10/29 Javascript
js函数柯里化的方法和作用实例分析
2020/04/11 Javascript
线程和进程的区别及Python代码实例
2015/02/04 Python
Python使用matplotlib绘制余弦的散点图示例
2018/03/14 Python
Python全局变量与局部变量区别及用法分析
2018/09/03 Python
Python 中包/模块的 `import` 操作代码
2019/04/22 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
Python模块的定义,模块的导入,__name__用法实例分析
2020/01/07 Python
解决pytorch下出现multi-target not supported at的一种可能原因
2021/02/06 Python
pytorch 中forward 的用法与解释说明
2021/02/26 Python
CSS3美化表单控件全集
2016/06/29 HTML / CSS
Links of London官方网站:英国标志性的珠宝品牌
2017/04/09 全球购物
国家助学金获奖感言
2014/01/31 职场文书
求职自荐信的格式
2014/04/07 职场文书
2014年秋季开学典礼主持词
2014/08/02 职场文书
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
个人股份合作协议书
2014/10/24 职场文书
一年级班主任工作总结2014
2014/11/08 职场文书
在职证明范本
2015/06/15 职场文书
运动会3000米加油稿
2015/07/21 职场文书
高一军训感想
2015/08/07 职场文书
Django 实现jwt认证的示例
2021/04/30 Python
python数据可视化JupyterLab实用扩展程序Mito
2021/11/20 Python