数据列表实现方式(基于Vue.js封装)
来源:互联网 发布:win10找不到网络打印机 编辑:程序博客网 时间:2024/06/16 10:00
抽时间看了下Vue.js,果然好清爽。
写了个小demo,实现Table方式的列表。
如下:
先贴效果,即每个开发人员实现功能时需要写的代码:
<html><head><script src="vue.js"></script><script src="vue-common.js"></script><style>td,th{border : solid 1px black;}</style></head><body><div id="userList"><div><h1>{{ title }}</h1></div><table><tr><th>姓名</th><th>地址</th><th>电话</th></tr><tr v-for="row in rows"><td>{{ row.name }}</td><td>{{ row.addr }}</td><td><input v-model='row.mobile' /></td></tr></table><paging v-bind:data="paging" /></div><button onclick="submitUserList()">提交</button><div id="submitData"></div><script>// 1. 页面初始化时获得数据(一般通过ajax方式)var data = {title : '列表数据',rows: [ { name: 'Liu Hailong' , addr : 'Laishui', mobile : '186' }, { name: 'Wei Chao' , addr : 'Yangzonghai', mobile : '186' }, { name: 'Hu Lei' , addr : 'Guiyang', mobile : '188' } ],paging : {total : 3,pageSize : 10,pageNo : 1 ,pageCnt : 1}};// 2. 将数据与视图绑定var userList = bind('#userList',data);// 3. 数据发生可能的修改data.title = "列表数据(被修改)";data.rows[0].mobile = '18600107299';// 4. 提交数据到后台(可编辑表格,或分页)//submit(data.rows);//submit(data.paging);function submitUserList(){var d = userList.$data;console.log(d.rows[2].name + ":" + d.rows[2].mobile);}</script></body></html>
然后是 简单的封装代码:
/** * vue-common.js */Vue.component('paging', {props: ['data'],template: [ '<div>共{{ data.total }}条 每页{{ data.pageSize }}条' ,'第{{ data.pageNo }}页/共{{ data.pageCnt }}页' ,'<button>首页</button>','<button>首页</button>','<button>首页</button>','<button>末页</button></div>'].join('\r\n')});function bind(selector, data){var ret = getVueObj(selector, data);return ret;}function getVueObj(selector, data){var ret = new Vue(getWrapper(selector, data));return ret;}function getWrapper(selector, data){var ret = {el : selector,data : data};return ret;}
如果继续封装,页面初始化加载数据的代码:
function loadList(selector , url, callback){
ajax({
url : url ,
success : function(data){
var vueObj = bind(selector, data);
callback(vueObj);
}
});
}
0 0
- 数据列表实现方式(基于Vue.js封装)
- 初探 amaze-vue( 基于vue.js封装的Amaze UI 组件库)
- Vue.js Demo 数据及其列表操作
- vue.js 列表数据加载更多
- Vue.js组件封装——下拉列表
- 基于cropper.js封装vue在线图片裁剪组件
- Vue.js——基于$.ajax实现数据的跨域增删查改【4】
- vue.js实现数据传递的demo
- vue.js双向数据绑定实现原理
- vue.js实现数据驱动视图原理
- vue实现城市列表排序(中文)
- Vue 实现 任务列表
- Vue——渲染(文本、列表)、列表数据更新
- 基于JSON实现数据列表翻页显示
- JS-Vue/基于Vue.js的时钟
- JS get实现数据列表的修改
- js实现两个列表框交换数据
- Vue.js数据状态管理-Vuex(-)
- 【游戏开发】小白学Lua(上)
- linux iptables policy route
- WebPack 常用功能介绍
- Android为什么选择Java作为开发语言?
- PHP GD竖排文字写法
- 数据列表实现方式(基于Vue.js封装)
- 单链表及双链表总结
- 跟我学习如何搭建直播页面-直播知识体会~(1)
- 左偏树(XJT Love Trees,玲珑杯 Round#8 C lonlife 1081)
- 【c++】运算符
- 示波器标笔x10和X1的理解
- 2017.1.16【初中部 】普及组模拟赛C组总结
- 对比分析:SFrame,Hdp2与skflow,谁更好呢?
- git——git flow的使用