iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
1

依照慣例先附一段程式碼吧~

<div x-data="dropdown()">
    <button x-on:click="open">Open</button>

    <div x-show="isOpen()" x-on:click.away="close">
        // Dropdown
    </div>
</div>

<script>
    function dropdown() {
        return {
            show: false,
            open() { this.show = true },
            close() { this.show = false },
            isOpen() { return this.show === true },
        }
    }
</script>

x-data="dropdown()" 進到這段程式會進到js的functio dropdown()去執行,
所以一進到這個function,便會回傳show為false(預設),
當點選button時 x-on:click="open"這裡的open會帶進 open() { this.show = true }
而下行 x-show="isOpen()"會進到isOpen() { return this.show === true }
因為點擊了上方的button,因此這邊會回傳true,
再回到x-show="isOpen()"中,意思等於x-show="isOpen(),所以就會顯現出來,
x-on:click.away="close"同樣的也會進入close() { this.show = false },
這也就能有開開關的效果了喔!

這跟前幾天的範例很相似,有興趣的朋友可以比較一下,
只是這邊是放在js中去判斷的。


上一篇
Day3-Alpine.js簡易tab切換
下一篇
Day5-Alpine.js將打在text中的數字/文字即時印出來
系列文
愛寫什麼就寫什麼,開心最重要30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言