LoginSignup
2
0

More than 1 year has passed since last update.

ズンドコキヨシ with Vue2 コンポーネント活用の練習

Posted at

わたしの勉強日記Vol.2 (実話)

8月15日15:00

 先輩:「お前にコンポーネントの課題を与える!」
わたし:「はい!できました!:smiley:
わたし:「余裕だったんで、コンポーネントを活用したサンプル作っちゃいます〜:smiley:
 先輩:「おお!えらいじゃん」

8月15日16:00

わたし:「あれ…」

8月16日16:00

 先輩:「お前大丈夫か…?」
わたし:「ごめんなさい分かりません教えてください」
 先輩:「とりまフローチャートを作ってみ!」
わたし:「ふ、ふろーちゃーと…………?」

作りたいもの

これ:point_down:

ダウンロード.gif

文章化するとこんな感じ:point_down:
  • 「ずん」と「どこ」のボタンを押すと、それぞれ「ずん」と「どこ」がカードに表示される。
  • カードが準備されていないときは、カードと文字が同時に表示される。
  • 「ずん」「ずん」「ずん」「ずん」「どこ」の順で表示されたら、カード内で「きよし!」と表示される。
  •  「ずん」と「どこ」の文字数が10を超えそうになったらリセットされて、新たにカードと文字が追加される。

参考:ズンドコキヨシ

準備 〜フローチャートの作成〜

先輩が言ってた "フローチャート"ってなんだ?

>> プロセスやアルゴリズムを表現する流れ図のこと

こんなやつ(作ってみた):point_down:
フローチャート (3).png

え、フローチャート考えるの難しくない?(小声)

実践 〜Vue2で書いてみる〜

親コンポーネント

App.vue
<template>
  <div>
    <button @click="addMessage('ずん')">ずん</button>
    <button @click="addMessage('どこ')">どこ</button>
    <Zundoko
      v-for="zundokoCard in zundokoCards"
      :key="zundokoCard.id"
      :zundokoData="zundokoCard.zundokoData"
    >
    </Zundoko>
  </div>
</template>

<script>
import Zundoko from "@/components/Zundoko.vue";
import { v4 } from "uuid";
export default {
  components: {
    Zundoko,
  },
  data() {
    return {
      zundokoCards: [],
    };
  },
  methods: {
    addMessage(text) {
      // 条件1
      if (this.zundokoCards.length !== 0) {
        // 条件2
        this.check(text);
      } else {
        // 処理1
        this.zundokoCards.push({
          id: v4(),
          zundokoData: text,
        });
      }
    },
    check(text) {
      const targetCardIndex = this.zundokoCards.length - 1;
      // 条件2
      if (this.zundokoCards[targetCardIndex].zundokoData.length < 10) {
        // 処理3
        this.zundokoCards[targetCardIndex].zundokoData += text;
      } else {
        // 処理2
        this.zundokoCards.push({
          id: v4(),
          zundokoData: text,
        });
      }
    },
  },
};
</script>

まとめ

「プログラムをどう書いていけば良いか分からない🥺」という時こそ!!
「フローチャート」を考えるのが大事だ〜〜
先輩、気づかせてくれてありがとう。。)

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0