問題
2
Vue.js
Vueでアプリレイアウトを作ろう! リスト編
Vue.jsの問題に挑戦しよう!
問題
「Vueでアプリレイアウトを作ろう! リスト編」
次はメインコンポーネントの中のリストを作っていこう。
src
├── App.vue
├── assets
│ └── /* 画像等 */
├── components
│ ├── Main.vue
│ ├── Sidebar.vue
| |__ NavItem.vue
| |__ List.vue /* ファイルを追加 */
| |__ ListItem.vue /* ファイルを追加 */
└── main.js
あらかじめエディタに書くコード
--- Main.vue
<template>
<div class="main-container">
<list></list>
</div>
</template>
<script>
/* 解答 */
</script>
<style>
.main-container {
width: 80%;
background: #ddd;
}
.main-container h1 {
padding-top: 50px;
}
</style>
¥Vue¥
--- List.vue
<template>
<div class="main-list-wrapper">
<ul class="main-list">
<listitem v-for="dream in dreams" :dream="dream" :key="dream.id"></listitem>
</ul>
</div>
</template>
<script>
/* コード記述 */
</script>
<style>
.main-list-wrapper{
background: #fff;
width: 80%;
margin: 2rem auto;
border-radius: 15px;
}
.main-list {
padding: 2rem;
text-align: left;
}
</style>
¥Vue¥
--- ListItem.vue
<template>
<div>
<li class="list-item">{{ dream.name }}</li>
</div>
</template>
<script>
/* コード記述 */
</script>
<style>
.list-item {
width: 100%;
padding: 8px;
margin-bottom: 10px;
list-style: none;
border-left: 5px solid #40b983;
border-bottom: 1px solid #40b983;
border-top: 1px solid #40b983;
border-right: 1px solid #40b983;
font-weight: 700;
}
.list-item:hover {
background: #40b983;
opacity: .8;
color: #fff;
}
</style>
¥Vue¥
期待する画面
解答と解説(Vueでアプリレイアウトを作ろう! リスト編)
解説
LINE登録して解答を見る
※ご登録後トークルーム下部にあるメニュー内
「無料問題集※解答付き」を押すと
解答閲覧用URLが届きます
からdreamオブジェクトを受け取るために、`type: Object`
を記述している。ちなみに配列を回すときはkey与えてあげないと、warningといって警告がコンソールにでるから必ず一緒に書くようにしよう。