終於到咱們小項目的最後一個功能了,那就是列表頁展現!javascript
先來新建組件 List.vue
:html
<template> <div></div> </template> <script> export default { name: "List" } </script> <style scoped> </style>
而後添加對應的路由對象:vue
{ path: '/list', name: 'list', component: () => import('./views/List.vue') }
這裏咱們選擇 ElementUI
中的 Table
組件來進行展現,文章列表接口的數據定義以下:java
{ "Code": 200, "Message": "後臺返回的消息", "Data": [ { "Id": 0, //文章的ID "Title": "標題", }, ... ] }
<template> <div> <el-row> <el-table :data="list"> <el-table-column prop="Id" label="#"> </el-table-column> <el-table-column prop="Title" label="標題"> </el-table-column> </el-table> </el-row> </div> </template> <script> import axios from 'axios' export default { name: "List", data() { return { list: [], } }, mounted() { this.init() }, methods: { init() { axios.get('https://451ece6c-f618-436b-b4a2-517c6b2da400.mock.pstmn.io/list') .then(res => { this.list = res.data.Data }) } } } </script> <style scoped> </style>
效果以下:ios
這個效果不是很好看啊。 用 el-col
控制一下大小看看:json
<template> <div> <el-row> <el-col :span="16" :offset="4"> <el-table :data="list"> <el-table-column prop="Id" label="#" width="80px"> </el-table-column> <el-table-column prop="Title" label="標題" align="center"> </el-table-column> </el-table> </el-col> </el-row> </div> </template>
這樣看起來就好不少了。axios
最後讓咱們在基礎佈局那加上發佈和登陸的按鈕吧:app
<template> <div id="app"> <el-container> <el-header style="text-align:center;"> <span>淺入深出Vue-入門篇</span> <span style="float: right;"> <el-button type="primary" size="mini" icon="el-icon-edit">發佈文章</el-button> <el-button type="default" size="mini">登陸</el-button> </span> </el-header> <el-main> <router-view/> </el-main> </el-container> </div> </template>
最後的效果:佈局