mirror of
https://gitee.com/novel_dev_team/novel-front-web
synced 2026-07-20 17:54:10 +08:00
feat: 新增首页最新新闻列表组件
This commit is contained in:
39
src/components/LatestNews.vue
Normal file
39
src/components/LatestNews.vue
Normal file
@@ -0,0 +1,39 @@
|
||||
<template>
|
||||
<dl class="hot_notice" id="indexNews">
|
||||
<dd style="text-align: left" v-for="(item, index) in newsList" :key="index">
|
||||
<span>[{{ item.categoryName }}]</span>
|
||||
<router-link :to="{ name: 'newsContent', query: { id: item.id } }">
|
||||
{{ item.title }}
|
||||
</router-link>
|
||||
</dd>
|
||||
</dl>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { reactive, toRefs, onMounted } from "vue";
|
||||
import { ElMessage, ElLoading } from "element-plus";
|
||||
import {listLatestNews} from "@/api/news";
|
||||
export default {
|
||||
name: "LatestNews",
|
||||
setup() {
|
||||
const state = reactive({
|
||||
newsList: [],
|
||||
});
|
||||
|
||||
onMounted(async () => {
|
||||
const loadingInstance = ElLoading.service({
|
||||
target: "#indexNews",
|
||||
text: "加载中。。。",
|
||||
});
|
||||
const { data } = await listLatestNews();
|
||||
loadingInstance.close();
|
||||
|
||||
state.newsList = data;
|
||||
});
|
||||
|
||||
return {
|
||||
...toRefs(state),
|
||||
};
|
||||
},
|
||||
};
|
||||
</script>
|
||||
Reference in New Issue
Block a user