本篇文章小编给大家分享一下HTML+VUE分页实现炫酷物联网大屏功能代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
效果
demo.html
数据大屏 css/style.css" />物联网平台数据统计page
监控列表 {{ item.categories }} {{point.enterpriseName}} {{point.pointName}} 无 第{{pageIndex}}页/共{{totalPage}}页 共{{total}}条
page. js
var page_data = {
key: null,
pointId: null,
limit: 6,
total: 0, //总条数
pageIndex: 1, //第x页
totalPage: 0, // 总共页数,
activatePage: 1, //激活页 默认为1
currentPage: 1, //当前页数 ,默认为1
pagelist: 7, //分页按钮个数
pageSize: 10, // 每页显示数量
mid: 3, //点击按钮 分页按钮重新渲染时的位置 一般 是 pagelist /2 居中
factoryHeader: [{
"categories": "站点名"
},
{
"categories": "企业名"
},
{
"categories": "状态"
},
{
"categories": "操作"
}
],
factory: [],
timer: null //定时器
};
var page_vue = new Vue({
el: '#page',
data: page_data,
beforeCreate: () => {
// this.send();
console.log("创建前page_data")
},
created: () => {
// this.dtu();
console.log("创建完成page_data")
},
beforeMount: () => {
},
mounted() {
this.timer = setInterval(() => {
setTimeout(this.getCurrentPageData(), 0)
}, 1000 * 10)
console.log("挂载完成page_data:");
},
beforeUpdate() {
console.log('=即将更新渲染page_data=');
},
destroyed() {
clearInterval(this.timer);
this.timer = null;
},
watch: {},
methods: {
/* 监测列表 */
getCurrentPageData: function() {
axios({
headers: {
'Content-Type': 'application/json'
},
async: true,
method: 'post',
url: 'https://www.shb***ykj.top/bi/monitor/data',
data: {
'page': page_vue.$data.currentPage,
'limit': page_vue.$data.limit,
}
})
.then(function(res) {
console.log(res.data.data);
if (res.data.data) {
page_vue.$data.factory = res.data.data.data
page_vue.$data.total = res.data.data.total
console.log(".this.total" + page_vue.$data.total)
let begin = (page_vue.$data.currentPage - 1) * page_vue.$data.pageSize;
let end = page_vue.$data.currentPage * page_vue.$data.pageSize;
this.mid = Math.floor(page_vue.$data.pagelist / 2);
//这里自己diy请求数据
console.log("dataListLength总条数::::::" + page_vue.$data.total)
console.log("pageSize每页条数::::::" + page_vue.$data.limit)
//总页数
page_vue.$data.totalPage = page_vue.$data.total % page_vue.$data.limit == 0 ? page_vue.$data.total / page_vue
.$data.limit : Math.floor(page_vue.$data.total /
page_vue.$data.limit) + 1
console.log("totalPage总页数:" + page_vue.$data.totalPage)
}
})
.catch(function(error) {
console.log("大屏监控列表查询异常" + error);
});
},
// 设置当前页面数据,对数组操作的截取规则为[0~9],[10~20]...,
// 当currentPage为1时,我们显示(0*pageSize+1)-1*pageSize,当currentPage为2时,我们显示(1*pageSize+1)-2*pageSize...
//上一页
prevPage() {
console.log(this.currentPage);
if (this.currentPage === 1) {
return false;
} else {
this.currentPage--;
if (this.activatePage !== 1) {
if (this.currentPage = (this.pagelist - this.mid)) {
this.activatePage = this.currentPage - this.mid + 1;
}
}
this.currentPage++;
this.getCurrentPageData();
}
},
selectPage(event, msg) {
//计算 是往前还是往后移动
let gap = (this.activatePage + msg - 1) - this.currentPage;
//把 当前页更新
this.currentPage = this.activatePage + msg - 1;
if (this.currentPage > this.totalPage) {
this.currentPage = this.totalPage;
}
if (this.currentPage 0 && (this.currentPage + this.pagelist - 1) > this.totalPage) {
this.activatePage = this.totalPage - this.pagelist + 1;
} else if (gap > 0 && (this.currentPage + this.pagelist - 1) = (this.pagelist - this.mid)) {
this.activatePage = this.currentPage - this.mid;
}
}
//和上面 一样 我们需要判断 点击分页按钮的 索引 如果点击按钮的数 - 分页按钮的个数 小于0了 那我们 把 分页按钮其实位置改成0
//否则的 话 就直接 更新成 点击按钮的索引
if (gap 1) {
//对 最大需要调整按钮的边界进行判断
if (this.currentPage
结构
模拟极限越野
模拟极限越野开着大巴在各种奇葩路况里送乘客。山路弯道多得让人
模拟火车
模拟火车让你当回真正的火车司机,得先学会看信号灯、操作控制杆
可口的披萨美味的披萨
可口的披萨美味的披萨带您体验经营一家披萨店的乐趣。游戏画风温
定制虚拟偶像最新版
定制虚拟偶像最新版是一款超级经典有趣的日本模拟装扮类型的手游
病娇模拟器手机版正版(yandere simulator)
病娇模拟器最新版手游是一款萌妹二次元模拟游戏,玩家在游戏中可