!否定用法 我們在 v-if 條件直接使用否定!用法,將 true 的條件式改成 false,當條件等於 true 就會顯示出成功的 div 區塊,反之則會顯示失敗的 div 區塊。我們也可以寫一個 checkbox 綁定 isSucceed 來更改 true 和 false。
1 2 3 4 5 6 7 <body > <div class ="app" > <div v-if ="isSucceed" > 成功</div > <div v-if ="!isSucceed" > 失敗</div > <input type ="checkbox" v-model ="isSucceed" > 更換 </div > </body >
1 2 3 4 5 6 7 8 9 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js" ></script> <script> var app = new Vue({ el:'.app' , data:{ isSucceed:false , }, }); </script>
v-else 我們也可以使用 v-else, 當 v-if 的條件不成立時,就會自動執行 v-else 的內容,而不用設定條件。
1 2 3 4 5 6 7 <body > <div class ="app" > <div v-if ="isSucceed" > 成功</div > <div v-else > 失敗</div > <input type ="checkbox" v-model ="isSucceed" > 更換 </div > </body >
1 2 3 4 5 6 7 8 9 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js" ></script> <script> var app = new Vue({ el:'.app' , data:{ isSucceed:false , }, }); </script>
v-if,v-if-else,v-else 如果我們遇到一個三選一的條件,或是需要製作分頁,就可以使用 v-if,v-if-else,v-else 來製作分頁。我們先宣告資料變數 page 來存放切換的分頁代表。並且設定三個按鈕 abc ,分別將它們綁定點擊事件,點擊後會改變 page 資料的值為指定分頁代表。最後我們設定三個 div 區塊 abc,當 page == a 代表條件成立,會出現 a 區塊,點按鈕 b ,條件式 b 會成立,會出現 b 區塊,點按鈕 c,條件式 c 會成立,會出現 c 區塊。
1 2 3 4 5 6 7 8 9 10 <body > <div class ="app" > <div v-if ="page=='a'" > a</div > <div v-else-if ="page=='b'" > b</div > <div v-else ="page=='c'" > c</div > <input type ="button" value ="a" @click ="page='a'" > <input type ="button" value ="b" @click ="page='b'" > <input type ="button" value ="c" @click ="page='c'" > </div > </body >
1 2 3 4 5 6 7 8 9 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js" ></script> <script> var app = new Vue({ el:'.app' , data:{ page:'a' }, }); </script>
v-show 其實 v-show 和 v-if 的功能一樣,差別在於 v-show 是將條件式不成立的 div 區塊使用 dispaly:none 來隱藏,而 v-if 則是直接不會出現條件式不成立的區塊。
1 2 3 4 5 6 7 8 <body > <div class ="app" > <div v-show ="isSucceed" > 成功</div > <div v-show ="!isSucceed" > 失敗</div > <div v-if ="isSucceed" > 成功</div > <div v-if ="!isSucceed" > 失敗</div > </div > </body >
1 2 3 4 5 6 7 8 9 10 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js" ></script> <script> var app = new Vue({ el:'.app' , data:{ isSucceed:false , page:'a' }, }); </script>