今天我們將利用vue的條件指令來完成一個簡易的動態變色功能按鈕
首先我們還是要對vue進行配置,在上篇隨筆中有相關下載教學.
然後我們要在html頁面上搭建三個簡易的按鈕,顏色分別為紫,綠和藍(顏色隨意)其程式碼如下:
<body> <div id="app"> <p> <button @click="btn_click('pg1')" :style="{background:'rebeccapurple'}">紫</button> <button @click="btn_click('pg2')" :style="{background:'yellowgreen'}">綠</button> <button @click="btn_click('pg3')" :style="{background:'cornflowerblue'}">藍</button> </p> </div> </body>
這裡的@是v-on事件指令,在這裡要在三個按鈕上設定點選事件
接著我們要進行條件指令的判斷,其程式碼如下:
<div class="box pg1" v-if="pg == 'pg1'" key="pg1"></div> <div class="box pg2" v-else-if="pg == 'pg2'" key="pg2"></div> <div class="box pg3" v-else key="pg3"></div>
通過條件來判斷點選不同的按鈕觸發不同的效果
接下來我們將進行掛載點,事件的渲染以及為事件提供實現體操作
<script> new Vue({ el: '#app', data: { pg: 'pg1' }, methods: { btn_click: function (pg_num) { this.pg = pg_num } } }) </script>
這裡我們設定進入頁面後預設顯示第一個按鈕顯示的圖片,通過點選來完成事件的轉換.
最後就是把圖片給設定出來啦
<style> .box { width: 200px; height: 100px; background-color: darkgray; } .pg1 { background-color: rebeccapurple; } .pg2 { background-color: yellowgreen; } .pg3 { background-color: cornflowerblue; } </style>
當然也可以選擇你喜歡的圖片進行放置,這裡我們只是放置顏色填充的框
具體的實現效果如下:
通過不同的點選來獲得不同的圖片!
整體程式碼如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .box { width: 200px; height: 100px; background-color: darkgray; } .pg1 { background-color: rebeccapurple; } .pg2 { background-color: yellowgreen; } .pg3 { background-color: cornflowerblue; } </style> </head> <body> <div id="app"> <p v-if="is_if" key="my_if">v-if的顯示與隱藏</p> <p v-show="is_show" key="my_show">v-show的顯示與隱藏</p> <p> <button @click="btn_click('pg1')" :style="{background:'rebeccapurple'}">紫</button> <button @click="btn_click('pg2')" :style="{background:'yellowgreen'}">綠</button> <button @click="btn_click('pg3')" :style="{background:'cornflowerblue'}">藍</button> <div class="box pg1" v-if="pg == 'pg1'" key="pg1"></div> <div class="box pg2" v-else-if="pg == 'pg2'" key="pg2"></div> <div class="box pg3" v-else key="pg3"></div> </p> </div> </body> <script src="js/vue.min.js"></script> <script> new Vue({ el: '#app', data: { is_if: false, is_show: true, pg: 'pg1' }, methods: { btn_click: function (pg_num) { this.pg = pg_num } } }) </script> </html>
這樣神奇的動態Vue按鈕便完成啦