vue写个有作者的基本信息介绍、画作介绍等信息的列表
时间: 2024-03-30 09:34:33 浏览: 20
好的,这是一个关于vue写有作者基本信息介绍和画作介绍的列表的建议,你可以根据自己的需求进行一些调整。
首先,你可以创建一个包含作者基本信息和画作介绍的数据数组,例如:
```javascript
data() {
return {
artists: [
{
name: 'Vincent van Gogh',
nationality: 'Dutch',
birthDate: '1853-03-30',
deathDate: '1890-07-29',
bio: 'Vincent Willem van Gogh was a Dutch post-impressionist painter who is among the most famous and influential figures in the history of Western art.',
paintings: [
{
title: 'The Starry Night',
year: '1889',
medium: 'Oil on canvas',
size: '73.7 cm × 92.1 cm',
image: 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg/1280px-Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg'
},
{
title: 'Irises',
year: '1889',
medium: 'Oil on canvas',
size: '71 cm × 93 cm',
image: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Van_Gogh_-_Irises_-_Google_Art_Project.jpg/1280px-Van_Gogh_-_Irises_-_Google_Art_Project.jpg'
}
]
},
// ...
]
}
}
```
然后,你可以使用`v-for`指令循环渲染列表,并使用`<template>`标签来分组展示作者基本信息和画作介绍,例如:
```html
<template v-for="(artist, index) in artists">
<!-- Artist basic info -->
<div class="artist-info" :key="'artist-' + index">
<h2>{{ artist.name }}</h2>
<div class="nationality">{{ artist.nationality }}</div>
<div class="birth-date">{{ artist.birthDate }}</div>
<div class="death-date">{{ artist.deathDate }}</div>
<p class="bio">{{ artist.bio }}</p>
</div>
<!-- Artist paintings -->
<div class="artist-paintings" :key="'paintings-' + index">
<h3>Paintings</h3>
<ul>
<li v-for="(painting, index) in artist.paintings" :key="'painting-' + index">
<div class="painting-image">
<img :src="painting.image" :alt="painting.title">
</div>
<div class="painting-info">
<h4>{{ painting.title }}</h4>
<div class="year">{{ painting.year }}</div>
<div class="medium">{{ painting.medium }}</div>
<div class="size">{{ painting.size }}</div>
</div>
</li>
</ul>
</div>
</template>
```
最后,你可以根据需要添加一些样式来美化列表的外观,例如:
```css
.artist-info {
margin-bottom: 20px;
}
.artist-info h2 {
margin: 0;
font-size: 24px;
}
.artist-info .nationality {
font-size: 18px;
color: #666;
}
.artist-info .bio {
margin-top: 10px;
line-height: 1.5;
}
.artist-paintings {
margin-bottom: 40px;
}
.artist-paintings h3 {
margin: 0;
font-size: 20px;
}
.artist-paintings ul {
list-style: none;
margin: 0;
padding: 0;
}
.artist-paintings li {
display: flex;
align-items: center;
margin-bottom: 20px;
}
.artist-paintings li:last-child {
margin-bottom: 0;
}
.painting-image {
margin-right: 20px;
width: 200px;
height: 200px;
overflow: hidden;
}
.painting-image img {
width: 100%;
height: 100%;
object-fit: cover;
}
.painting-info h4 {
margin: 0;
font-size: 18px;
}
.painting-info div {
font-size: 14px;
color: #666;
margin-bottom: 5px;
}
```
这样,你就可以在页面上展示一个包含作者基本信息和画作介绍的列表了。