忍者CODE

ログイン

2
Vueでアプリレイアウトを作ろう! リスト編

PHPの問題

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¥
            
期待する画面
ログインして解答を見る
コードのアイコン

解答ソースコード

              --- Main.vue
<script>
import List from './List'
export default {
  name: 'Main',
  components: {
    List
  }
}
</script>
¥Vue¥
            
              --- List.vue
<script>
import ListItem from './ListItem'
export default {
  name: 'List',
  components: {
    ListItem
  },
  data() {
    return{
      dreams: [
        { id: 1, name: "フルスタックエンジニアになりたい"},
        { id: 2, name: "バックエンドエンジニアになりたい"},
        { id: 3, name: "フロントエンドエンジニアになりたい"},
        { id: 4, name: "データサイエンティストになりたい"},
        { id: 5, name: "スティーブジョブズになりたい"}
      ]
    }
  }
}
</script>
¥Vue¥
            
              --- ListItem.vue
<script>
export default {
  props: {
    dream: {
      type: Object,
    }
  }
}
</script>
¥Vue¥
            
答えのアイコン

解説

ではfor文でdreamの配列を回して、子コンポーネントにnameを渡している。
コンポーネントでは、親コンポーネントであるからdreamオブジェクトを受け取るために、`type: Object`
を記述している。ちなみに配列を回すときはkey与えてあげないと、warningといって警告がコンソールにでるから必ず一緒に書くようにしよう。
twitterのアイコン
活動記録をTweetする

甲賀

なら実務レベルで使えるスキルを
体系的に学ぶことが可能です

Web制作学習は、決して楽ではありませんが
「正しい方向で」「コツコツ」と続ければ、
必ずスキルアップする事が可能です。

甲賀では、挫折せずに学習を継続するための
カリキュラム・サポート体制をご用意しています。

↓↓↓↓

ステップバイステップで
着実にスキルが身につくカリキュラム

  • step 01
    初心者でもよく分かる!
    Web制作の基礎の基礎
    • 1.知っておこうWeb制作に関する基礎知識の話

    • 2.HTMLの書き方や役割を基礎から学ぶマークアップ入門

    • 3.CSSで挫折しない為の基礎学習【超重要プロパティ】

    • 4.基礎を終えたらHTMLコーディングを鍛えよう(デザインから)

    • 5.初心者向けHTMLコーディング完全解説(STEP1総まとめ)

  • step 02
    真似して覚えるWeb制作
    (デザイン〜プログラミングまで)
    • 1.属性ってなに?などなどHTML,CSSの深堀り編

    • 2.デザイナーから直接学ぶ猫ちゃんサイトのデザイン解説

    • 3.鎧模写-YOROIMOSYA【銅の鎧】

    • 4.JavaScriptで学ぶプログラミングの基本のきほん【16項目】

  • step 03
    動きをつけたり、効率化!
    脱初心者を目指すためのスキルを学ぼう
    • 1.jQueryの基本的な使い方から応用まで【プラグイン解説あり】

    • 2.Web制作でCSSを簡単に書くためのSASS入門【小技あり】

    • 3.現場で使うCSS設計の考え方参考サイトを元に解説

    • 4.生のJavaScriptだけで英単語アプリを作ろう(音声読み上げ付き)

  • step 04
    ここまでくれば中級者!
    ちょこっと応用編のWeb制作
    • 1.JavaScriptの屋敷【鳳凰の間】

    • 2.JavaScriptで作るLINE風チャットボット

    • 3.コマンドラインとアプリ操作を同時に学べるGit【15選】

    • 4.EJSを使いコーディング力を中級者まで引き上げる

  • step 05
    実務で必須の制作スキル
    WordPressについて学ぶ
    • 1.鎧模写-YOROIMOSYA【銀の鎧】

    • 2.PHPを基礎から学びたい人向け14項目から学ぶ【入門】

    • 3.PHPで簡易的な掲示板を作ってみよう【コーディングあり】

    • 4.甘えを吹き飛ばす!WordPress開発

    • 5.WordPressで¥400,000の案件を徹底解説!

    • 6.WordPress有料テーマSnow Monkeyの解体書

甲賀を詳しく見る

プログラミングスキルが
一気に上がる!
有料級の解説動画19本
を今なら無料でGETできる!

忍者CODEの公式LINE登録後
LINE内にあるURLよりご覧になれます

  • プログラミング本気で学習してる方
  • もちろん完全無料で且つ手続き不要
  • 将来プログラミングで稼ぎたい方
  • 動画解説で真剣に学びたい方

スキルアップ動画をGET