记录自己的学习 大佬绕道谢谢!

豆瓣即将上映接口https://api.douban.com/v2/movie/coming_soon

本地跨域问题 看我之前的文章:https://www.cnblogs.com/yangsg/p/10633385.html

因为之前用过element UI写过分页相关业务代码 但是时间久了就淡忘了 所以总结下来 方便下次的使用

可以看到接口返回的字段有:

count:表示返回几条数据

start:表示从哪条开始

total:表示总数

subjects:表示数据的详细

我们这里使用的是element UI的 Pagination 分页 + table表格

因为豆瓣返回的是 count 和 start 我们使用这两个字段去做分页

使用了watch监听 satrt 如果satrt变化 则调用init函数

sizechange函数 里面val是我按钮点击的数字 (或者理解为里面的按钮)

页面的截图:

下面看代码:

<el-table
:data="tableData"
style="width: 100%">
<el-table-column
prop=""
label="序号"
width="180">
<template slot-scope='scope'>{{scope.$index+1}}</template>
</el-table-column>
<el-table-column
prop="original_title"
label="标题"
width="180">
</el-table-column>
<el-table-column
prop="genres"
label="类型"
width="180">
<template slot-scope="scope">{{ scope.row.genres.join('&') }}</template>
</el-table-column>
<el-table-column
prop="id"
label="id">
</el-table-column>
<el-table-column
fixed="right"
label="操作">
<template slot-scope="scope">
<el-button @click="handleDele(scope.$index,tableData)" type="text" size="small">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination background layout="prev, pager, next" @current-change="sizeChange" :page-size="pageSize"
:total="listTotal" class="paginaRight">
</el-pagination>
data(){
return{
pageSize:5,
listTotal:null,
listParams:{
start: 0,
count: 5
},
tableData:null
}
}
mounted(){
this.init();
},
watch:{
start(val){
this.init(val)
}
},
methods: {
handleDele(index,data){
//删除当前的row
this.$confirm('此操作删除当前行,是否继续?','提示',{
confirmButtonText:'确定',
cancelButtonText:'取消',
type:'warning'
}).then(()=>{
data.splice(index,1)
this.$message({
type:'success',
message:'删除成功'
})
}).catch(()=>{
this.$message({
type:'info',
message:'已取消删除'
})
}) },
init(){
const url= '/api/movie/coming_soon';
this.$http.post(url,{...this.listParams}).then((res)=>{
this.listTotal = res.data.total;
this.tableData = res.data.subjects
})
},
sizeChange(val){
this.listParams.start = this.listParams.count*val;
this.init(this.listParams);
},
}

vue-cli 3.0 豆瓣api接口使用element做分页的更多相关文章

  1. Vue CLI 3.0脚手架如何在本地配置mock数据

    前后端分离的开发模式已经是目前前端的主流模式,至于为什么会前后端分离的开发我们就不做过多的阐述,既然是前后端分离的模式开发肯定是离不开前端的数据模拟阶段. 我们在开发的过程中,由于后台接口的没有完成或 ...

  2. vue中Axios请求豆瓣API数据并展示到Swipe中

    vue中Axios请求豆瓣API数据并展示到Swipe中 1.首先是安装Axios: 安装方法cnpm install axios --save 等待npm安装完毕: 2.在main.js中引入axi ...

  3. 专访Vue作者尤雨溪:Vue CLI 3.0重构的原因

    1.为什么要对 Vue CLI 进行大规模修改? 尤雨溪认为旧版本的 Vue CLI 本质上只是从 GitHub 拉取模版,这种拉模版的方式有几个问题: (1) 在单个模版里面同时支持太多选项会导致模 ...

  4. vue cli 4.0.5 的使用

    vue cli 4.0.5 的使用 现在的 vue 脚手架已经升级到4.0的版本了,前两日vue 刚发布了3.0版本,我看了一下cli 4 和cli 3 没什么区别,既然这样,就只总结一下vue cl ...

  5. @vue/cli 4.0+express 前后端分离实践

    之前总结过一篇vue-cli 2.x+express+json-server实现前后端分离的帖子,@vue/cli3.0及4.0搭建的项目与vue-cli2.x的项目结构有很大的不同.这里对@vue/ ...

  6. @vue/cli 3.0 使用 svg-sprite-loader 加载本地 SVG 文件

    目录 @vue/cli 3.0 使用 svg-sprite-loader 加载本地 SVG 文件 运行 使用 配置 svg-sprite-loader 调用当前环境下的颜色 props @vue/cl ...

  7. 如何使用@vue/cli 3.0在npm上创建,发布和使用你自己的Vue.js组件库

    译者按: 你可能npm人家的包过成千上万次,但你是否有创建,发布和使用过自己的npm包? 原文: How to create, publish and use your own VueJS Compo ...

  8. VUE CLI 3.0 安装及创建项目

    一.安装 VUE CLI 3.0 官网: https://cli.vuejs.org/   详细资料可以自己先把官网过一遍. 1. 安装(默认你的电脑上已安装node及npm) npm install ...

  9. Django + Vue cli 3.0 访问静态资源问题

    [问题背景] 用Vue clie 3.0的搭建得框架把我坑死了,在打包后,调用不到静态资源js,css,mp3等 [问题原因] vue cli 3.0打包后,dist目录下没有static目录,而Dj ...

随机推荐

  1. java 反射和泛型

    反射 在计算机科学中,反射是指计算机程序在运行时(Run time)可以访问.检测和修改它本身状态或行为的一种能力.[1]用比喻来说,反射就是程序在运行的时候能够“观察”并且修改自己的行为. 要注意术 ...

  2. window 7 & 2008R2 多核cpu套接字泄露补丁

    http://hotfixv4.microsoft.com/Windows%207/Windows%20Server2008%20R2%20SP1/sp2/Fix373886/7600/free/43 ...

  3. 1.bootstrap基础简介

    一·基础简介 1.Bootstrap,来自 Twitter,是一个用于快速开发 Web 应用程序和网站的前端框架,是目前最受欢迎的前端框架. Bootstrap 是基于 HTML.CSS.JavaSc ...

  4. escape,encodeURI,encodeURIComponent, URLEncode, RawURLEncode, HTMLEntity, AddSlash, JSON Encode

    online tooling: http://www.the-art-of-web.com/javascript/escape/ input : {user:{id:59,innerhtml:&quo ...

  5. Python 解决写入csv中间隔一行空行问题

    转载解决写入csv中间隔一行空行问题 写入csv: with open(birth_weight_file,'w') as f: writer=csv.writer(f) writer.writero ...

  6. String str = "1,2,3,4,5,6" 如何将这个字符串转换成int数组

    String str = "1,2,3,4,5,6"; string[] strS = str.Split(','); int[] num = new int[strS.Lengt ...

  7. iOS9 News 应用

    iOS9 News 应用 iOS9 中国区虽然没有 News 应用,但最新的开发工具中是有的,以下是笔者截取的模拟器gif图,供君欣赏:    

  8. 详解CATransformLayer

    详解CATransformLayer CATransformLayer与CALayer有着细微的差别,但这些差别会影响到3D变换的动画效果. 动画都有坐标系,如下所示(注意,这个不是iOS中的坐标系, ...

  9. Linux下的Mysql的主从备份

    MySQL复制概述 MySQL数据库支持同步复制.单向.异步复制,在复制的过程中一个服务器充当主服务,而一个或多个服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循 ...

  10. 8个PHP数组面试题

    1.写函数创建长度为10的数组,数组中的元素为递增的奇数,首项为1. 代码如下: <?php function arrsort($first,$length){ $arr = array(); ...