修改路由跳转
修改路由
需要注意把如下图的地方给注释掉,不要纠结为啥,因为路由重复了
代码语言:javascript复制{
path: '/',
component: Layout,
// redirect: '/dashboard',
children: [{
path: '/',
name: '首页',
component: () => import('@/views/dashboard/index'),
meta: {title: '首页', icon: 'dashboard'}
}]
},
{
path: '/author',
component: Layout,
redirect: '/author/table',
name: '创作者管理',
meta: {title: '创作者管理', icon: 'el-icon-s-help'},
children: [
{
path: 'table',
name: '创作者列表',
component: () => import('@/views/video/author/list'),
meta: {title: '创作者列表', icon: 'table'}
},
{
path: 'save',
name: '添加创作者',
component: () => import('@/views/video/author/save'),
meta: {title: '添加创作者', icon: 'tree'}
}
]
},
在上图中我新建了两个组件,如何新建的呢,快捷键为 Ctrl Alt Shift insert 即可弹出如下的框子选择 Vue Component
如下图
不使用快捷键的话那么就直接在需要添加组件的文件包上面鼠标右键选择 New
也可以出现如上图的选项卡
创建组件
一个 list,一个 save 内容如下图所示
编写 api 请求数据
列表数据请求
在 api 文件夹当中创建请求的 js 文件
代码语言:javascript复制import request from '@/utils/request'
export default {
// 1.作者列表-分页查询
getAuthorListPage(page, limit, authorQuery) {
return request({
// 路由参数拼接
url: `/service_video/author/pageList/${page}/${limit}/`,
method: 'post',
// data 会自动转成 json 传递到接口当中
data: authorQuery
})
}
}
在 list.vue 当中引入对应的 js
代码语言:javascript复制// 引入 author.js 调用对应的请求方法
import author from '@/api/video/author/author';
定义成员变量, 发送请求
代码语言:javascript复制export default {
name: "list",
// 定义变量与初始值
data() {
return {
// 查询的结果集
list: null,
// 当前页
page: 1,
// 每页多少条记录
limit: 10,
// 总记录数
total: 0,
// 查询封装的对象
authorQuery: {}
}
},
// 自定义方法
methods: {
getAuthorList(page = 1) {
this.page = page
author.getAuthorListPage(this.page, this.limit, this.authorQuery)
.then(resp => {
// 处理请求成功
console.log(resp);
}).catch(error => {
// 请求失败
});
}
},
// 页面渲染之前会自动调用此方法
created() {
this.getAuthorList();
}
}
在后端服务器接口当中添加跨域注解
代码语言:java复制@CrossOrigin
前端和后端工程都启动点击创作者列表效果如下图所示
Element-ui 表格组件
https://element.eleme.io/#/zh-CN/component/table
数据展示
创作者列表数据展示
代码语言:html复制<!--
表格
-->
<el-table
:data="list"
border
fit
highlight-current-row>
<el-table-column label="序号" align="center"/>
<el-table-column label="名称" align="center" prop="name"/>
<el-table-column label="级别" align="center"/>
<el-table-column label="创作者简介" align="center" prop="intro"/>
<el-table-column label="添加时间" align="center" prop="gmtCreate"/>
<el-table-column label="排序" align="center" prop="sort"/>
<el-table-column label="操作" align="center">
<el-button type="primary" size="mini" icon="el-icon-edit">修改</el-button>
<el-button type="danger" size="mini" icon="el-icon-delete">删除</el-button>
</el-table-column>
</el-table>
处理请求成功的回调如下
序号与级别处理
代码语言:html复制<!-- 通过 slot 拿到表格当中绑定的数据 -->
<template slot-scope="scope">
{{ scope.$index 1 }}
</template>
代码语言:html复制<!-- 通过 slot 拿到表格当中绑定的数据 -->
<template slot-scope="scope">
{{ scope.row.level === 1 ? "普通创作者" : "特约创作者" }}
</template>
最后
我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!