我想要一个uniapp页面,index.vue能显示新闻列表,有头部导航栏,能显示发布用户和时间,底部可以跳转到个人中心user.vue,index.vue的新闻内容靠左,index.vue可以跨域实现增删查改,请给出具体代码
时间: 2024-03-17 12:45:14 浏览: 157
vue自定义底部导航栏Tabbar的实现代码
好的,以下是一个示例代码:
```html
<template>
<div>
<!-- 头部导航栏 -->
<div class="header">
<span>新闻列表</span>
<span class="user" @click="goToUserCenter">个人中心</span>
</div>
<!-- 新闻列表 -->
<div class="news-list">
<div v-for="(item, index) in newsList" :key="index" class="news-item">
<div class="title">{{ item.title }}</div>
<div class="info">{{ item.user }} 发布于 {{ item.time }}</div>
<div class="content">{{ item.content }}</div>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
newsList: [], // 新闻列表数据
}
},
created() {
// 在页面创建时获取新闻列表数据
this.getNewsList()
},
methods: {
// 跳转到个人中心页面
goToUserCenter() {
uni.navigateTo({
url: '/pages/user.vue'
})
},
// 获取新闻列表数据
getNewsList() {
uni.request({
url: 'https://example.com/api/news',
method: 'GET',
success: res => {
// 请求成功,将数据存入 newsList 中
this.newsList = res.data.newsList
},
fail: err => {
// 请求失败,提示用户
uni.showToast({
title: '获取新闻列表失败,请稍后重试',
icon: 'none'
})
}
})
},
}
}
</script>
<style>
.header {
display: flex;
justify-content: space-between;
align-items: center;
background-color: #F5F5F5;
padding: 10px;
font-size: 18px;
font-weight: bold;
}
.user {
cursor: pointer;
}
.news-list {
padding: 10px;
}
.news-item {
margin-bottom: 20px;
}
.title {
font-size: 16px;
font-weight: bold;
}
.info {
margin-top: 10px;
font-size: 12px;
color: #999;
}
.content {
margin-top: 10px;
text-align: left;
}
</style>
```
上面的代码中,我们使用了 uniapp 的请求 API uni.request 发送 GET 请求来获取新闻列表数据,并将数据渲染到页面中。在头部导航栏中,我们添加了一个“个人中心”按钮,点击后可以跳转到用户中心页面。此外,我们还为每个新闻列表项添加了标题、发布者、发布时间和内容。你可以根据自己的需求对代码进行修改和补充。
阅读全文