DOMを使用せずに表示を切り替える[v-show][v-on]
「押してください」ボタンをクリックしてみます。
→ 直下に文字が表示されます。
今回はこれを作ってみようと思います。
【HTML】
<body> <p>■条件分岐</p> <p>コンソールで app.show=falseを入力</p> <!-- ルートのテンプレート --> <div id="app"> <button v-on:click="txtSwitch">押してください</button> <p v-show="show">★押してくれた!★</p> </div> </body>
HTML部分
【表示を切り替えたいタグ】:[v-show=”【名前】”]を付ける。
【切り替え担当のボタン】:[v-on=”【名前】”]を付ける。
HTMLで適当に作ったら、次は切り替えの処理を書いていきます。
【Javascript】
<script> var app = new Vue({ el: "#app", data: { show: false } methods: { showUnderText: function () { this.show = true } } }) </script>
処理はたったの11行です。
初期値
「data:」で初期値を代入します。
今回は初期表示はないので、falseで宣言します。
ボタンを押して表示状態にする処理
表示させたいものを「methods:」で操作します。
逆に初期表示させておきたい → イベントで表示を消したい 場合は、「初期値:true、 methdsでfalse」になるように書き換えるだけです。
ちなみに、[this]の使い方、JavaScriptの根本的なことをわかっていないと使いこなすことは厳しそうです。
(「使えはするが、なぜ使えているのかがよくわからない」ということになる)
【Vue.js】を使うといいこと
【Vue.js】ですから、DOMの操作は不要です。
「display: none;」も「.innerHTML = “”」で操作することもないです。
宣言するだけで操作が行えます。