【Vue.js入門】v-ifを活用して空配列時にToDoアプリに「Todoはありません」と表示しよう!

【Vue.js入門】v-ifを活用して空配列時にToDoアプリに「Todoはありません」と表示しよう!:


空配列時にToDoアプリに「Todoはありません」表示する

前回までは【Vue.js入門】v-bindでclassを操作してToDoアプリの完了状態を管理してみるにて構築していました!

今回のサンプルコードはこちらです!

ToDoアプリ上にToDoが存在しない(空配列時)にはTodoはありません」と表示できるようになります。


Screen Capture 47.mp4.gif



v-ifディレクティブとは?

何かしらの言語に触れたことのある方なら直感的に使用できると思います。

<li v-if="todos.length"> 
  処理A 
</li> 
<li else> 
  処理B 
</li> 
上記のコードなら、todos(todo配列)にtodoがあれば処理A、todoがなければ処理Bが実行されるようになります。


早速、v-ifを使ってみよう!

上で説明した通り、実装してみましょう。

<h1>My Todo Lists</h1> 
    <ul v-if="todos.length"> 
            //todoが存在したらの処理A↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 
      <li v-for="(todo, index) in todos"> 
        <input type="checkbox" v-model="todo.isDone"> 
        <span :class ="{done: todo.isDone}">  
          {{ todo.title }} 
        </span> 
        <span @click="deleteItem(index)" class="command">[☓]</span> 
      </li> 
             //todoが存在したらの処理B↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 
    </ul> 
    <ul v-else>  
            //todoが存在しなかったらの処理↓↓↓↓↓↓↓↓ 
      <li>ToDoはありません</li> 
            //todoが存在しなかったらの処理↑↑↑↑↑↑↑↑ 
    </ul> 
タグ内では、todos(todo配列)にtodoがあれば、前回までに実装した処理Aが実行され、以下のようにUIに反映されます。


スクリーンショット 2018-11-03 23.37.44.png


li v-elseでは、!todos.lengthすなわちtodoがなければ処理Bが実行されるようになります。
todosが空配列の場合に実行されるので「ToDoはありません」と表示させます。


スクリーンショット 2018-11-03 23.41.22.png


これで一通り実装できたのできました!


Screen Capture 47.mp4.gif


よりToDoリストに近づいてきましたね!!
サンプルコードもあるので実装してみてください!

次回くらいからドットインストール的にはローカルストレージに入れるはず…(笑)

コメント

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)