《Vue.js》v-ifとv-showの違いとは?わかりやすく説明します

プログラミング

v-ifとv-showの役割

条件によってhtmlを画面に表示する

v-ifもv-showも条件のtrue/falseによってhtmlを画面に表示します。

awesomeがtrueなら表示、falseなら非表示になります。両者ともこの点で共通の機能です。

v-ifとv-showの違い

DOMを削除するか、維持するか

両者の違いは非表示にする際に「DOMを削除する」「DOMを維持する」の違いです。

v-if

DOMを削除

v-show

DOMは維持

v-ifの場合、表示が切り替える為に、DOMを消したり、追加したりします。一方、v-showはDOMはそのままでcssの「display:none」を付けるかどうかで表示を切り替えます。

v-ifとv-showの使い分け

画面の切り替えコストが異なる

結論からいうと画面の表示/非表示において、ブラウザにかかる負荷は以下のようになります。

コスト

v-if

v-show

v-ifは表示/非表示を切り替えるにあたって、DOMを毎度「生成/削除」するので、ブラウザに掛かる負荷が高くなります。一方、v-showはcssで表示/非表示を切り替えているだけなのでv-ifよりも負荷が低いです。

v-ifは遅延描画

v-ifは遅延描画といって、条件文がtrueになるまでDOMは生成されません。なので非同期処理などを噛ませると画面の一番初めのレンダリング負荷が分散され、結果的に読み込みが速くなったりする場合もあります。それに対して、v-showは初期レンダリング描画されます。

v-ifとv-showの使い分け

何回も表示/非表示を切り替える処理が求められる場合は、DOMの追加/削除を行わないv-showを使うべきです。それ以外の場合はv-ifがいいでしょう。

場面

v-if

単発の切り替えがメイン

v-show

表示/非表示の切替回数が多い

エンジニアのスキルを底上げする本を紹介

コードの可読性を高める

自分が大型ベンチャーの内定インターンに初めて参加した時、周りの超優秀なエンジニアの方々のコードをみて自分のコードの汚さに絶望しました。その時自分のマネージャーに勧められた本がリーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニックという超有名な一冊です。美しいコードを書くためのエッセンスが凝縮されています。エンジニアを職種として選ぶ方は読まない理由がない一冊です。自分もこの本を読んで、かなりコーディングスキルが向上したと感じています。

ネットワークの基礎を押さえる本

ITの基礎がおぼつかなくて、ネットワークの話についていけなかった時、早稲田大学のエンジニアの友人が勧めてくれたのがネットワークはなぜつながるのか 第2版 という本です。ハードウエアから、理論までネットワークの基礎が非常にわかりやすく解説されています。「TCP」「IP」「リゾルバ」という用語を説明できないエンジニアは間違いなく買ったほうがいいです。自分は知らなくてバカにされたので。笑

基本情報技術者試験の参考書

これからエンジニアを目指す方は受けておきたい国家試験です。IPA、独立行政法人情報処理推進機構が出題している為、大学入試のような試験ですが、それ故に資格合格の為に勉強することでITの基本をしっかり抑えることができます。

(全文PDF・単語帳アプリ付)かんたん合格 基本情報技術者教科書 2019年度

自分が合格した時の勉強方法も記事にまとめているので興味があったら読んでください。

【おすすめ参考書】当時大学2年生だった僕が、3ヵ月で基本情報受かった時の勉強方法
こんにちは。KATUOです。 今回の記事では「基本情報に合格するための勉強法」について書いていこうと思います。 基本情報技術者試験について どんな資格なの 「情...

 [番外編] 低反発座布団

会社エンジニアは座って作業することがほとんどです。1日12時間くらい座席に座っている方も多いのではないでしょう。椅子の座り心地が良けばよりプログラミングに集中できると思った僕は以下のアイテムを購入して、オフィスに設置。

IKSTAR クッション 低反発 座布団 椅子 腰楽クッション オフィス 車用 自宅用 体圧分散 座り心地抜群 プレゼント 持ち運ぶ便利 ブラック

会社の座椅子なのにまるで自分が選んで買った椅子みたいに大変身。「座り心地最高」+「姿勢が安定」腰痛にも成ることもほとんどなくなりました。なのでエンジニアのみなさんにはおすすめしています。お金に余裕のある方は買って、座ってみてください。

タイトルとURLをコピーしました