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

豆瓣即将上映接口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. Spring面试 IOC和AOP的理解

    spring 的优点?1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦 2.可以使用容易提供的众多服务,如事务管理,消息服务等 3.容器提供单例模式支持 4.容器提供了AOP技术,利用它很容易实 ...

  2. js实现查找字符串出现最多的字符和次数

    代码如下: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset=" ...

  3. pt-summary

    pt-summary主要是用来统计机器信息: [root@mxqmongodb2 bin]# ./pt-summary # Percona Toolkit System Summary Report ...

  4. Windows Server 2003 动态网站IIS设置(图)

    一.安装IIS     Windows Server 2003 虽说是服务器版本,但在默认情况下并没有安装IIS,要在本地浏览asp,PHP等动态网页,就必须安装IIS.在买系统盘的时候,请注意看一下 ...

  5. 如何在windowserver2012 r2服务器AD域控制器中创建一个域管理员帐号

    用户创建完毕之后,需要添加一下权限才能实现域管理员账户的相关功能

  6. 进制转换excel版

  7. Android sdk manager 更新 5.0 太难了,终于解决

    由于众所周知的原因,必须在hosts中增加一些网址对应,才可以更新 203.208.46.146 www.google.com 203.208.46.1 plus.google.com 203.208 ...

  8. codeforces 407C Curious Array

    codeforces 407C Curious Array UPD: 我觉得这个做法比较好理解啊 参考题解:https://www.cnblogs.com/ChopsticksAN/p/4908377 ...

  9. 让IE6、7、8兼容@media属性

    通常做页面适配的时候,经常会用到@media属性,对不同屏幕范围内的元素设置不同的样式.但是@media属性不兼容IE8及IE8以下的浏览器 解决方法: 直接在页面中引入respond.src.js即 ...

  10. python,dict的setdefault方法

    @dict的setdefault方法 先看看文档中的解释 setdefault(...)    D.setdefault(k[,d]) -> D.get(k,d), also set D[k]= ...