vue2写分类页面
时间: 2023-07-20 11:04:15 浏览: 134
首先,需要明确分类页面的数据来源和展示方式。一般来说,分类页面会展示某一类别下的所有内容,比如文章、产品等。
1. 数据获取
可以通过路由参数获取当前分类的 ID 或名称,然后向后端发送请求获取该分类下的所有内容数据。这里假设后端返回的数据格式如下:
```js
{
"code": 200,
"data": {
"categoryName": "技术",
"articles": [
{
"id": 1,
"title": "如何学习 Vue",
"content": "..."
},
{
"id": 2,
"title": "如何学习 React",
"content": "..."
}
]
}
}
```
2. 数据展示
可以使用 Vue 的模板语法和组件来展示数据。比如,可以在组件中定义一个 data 属性存储分类数据,然后在 mounted 钩子函数中发送请求获取数据并更新 data 属性。接着,在模板中使用 v-for 指令遍历文章列表,并绑定每篇文章的标题和链接。
```html
<template>
<div class="category">
<h1>{{ categoryName }}</h1>
<ul>
<li v-for="article in articles" :key="article.id">
<a :href="'/article/' + article.id">{{ article.title }}</a>
</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
categoryName: '',
articles: []
}
},
mounted() {
// 发送请求获取数据
const categoryId = this.$route.params.id
fetch(`/api/category/${categoryId}`)
.then(res => res.json())
.then(data => {
this.categoryName = data.data.categoryName
this.articles = data.data.articles
})
}
}
</script>
```
上述代码中,使用了 Vue Router 的路由参数 `$route.params` 来获取分类 ID,然后使用 fetch 函数发送请求。在请求成功后,将分类名称和文章列表保存到组件的 data 属性中,并在模板中使用插值语法 `{{ }}` 和 v-for 指令展示数据。
注:上述代码仅作为示例,实际开发中需要根据具体情况进行修改。
阅读全文