vue中的按鈕綁定事件小案例
vue按鈕綁定事件
效果圖

第一步:寫一個(gè)大盒子
第二步:寫一個(gè)div;里邊綁定一個(gè)class樣式
第三步:寫位置樣式
第四步:data給綁定class設(shè)置一個(gè)初始值
第五步:寫按鈕
第六步:給樣式設(shè)置一個(gè)初始值
第七步:綁定點(diǎn)擊事件并判斷樣式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<style>
#box {
width: 100px;
height: 100px;
background-color: aquamarine;
}
/* 第二步寫4個(gè)樣式 */
.d1 {
/* translate根據(jù)左(X軸)和頂部(Y軸)位置給定的參數(shù),從當(dāng)前元素位置移動(dòng)。 */
transform: translate(0, 0);
}
.d2 {
/* translate根據(jù)左(X軸)和頂部(Y軸)位置給定的參數(shù),從當(dāng)前元素位置移動(dòng)。 */
transform: translate(200px, 0);
}
.d3 {
/* translate根據(jù)左(X軸)和頂部(Y軸)位置給定的參數(shù),從當(dāng)前元素位置移動(dòng)。 */
transform: translate(200px, 200px);
}
.d4 {
/* translate根據(jù)左(X軸)和頂部(Y軸)位置給定的參數(shù),從當(dāng)前元素位置移動(dòng)。 */
transform: translate(0, 200px);
}
</style>
</head>
<body>
<div id="app">
<!-- 第一步: 在容器里邊寫一個(gè)盒子;綁定一個(gè)樣式 -->
<div id="box" :class="postionClass">
</div>
<!-- 第四步:寫一個(gè)點(diǎn)擊事件 -->
<button @click="toggle">點(diǎn)擊切換</button>
</div>
<script>
var app = new Vue({
el: "#app",
// 第三步 : 樣式設(shè)置默認(rèn)值
data: {
postionClass: 'd1',
// 第六步設(shè)定index初始值為1;從d1 d2 d3 d4后邊這個(gè)1
index: 1
},
methods: {
// 第五步:綁定點(diǎn)擊事件
toggle() {
// 第八步: 判斷index不能大于4,返回1;否則的話返回的是index+1
this.index = this.index + 1 > 4 ? 1 : this.index + 1;
// 第七步:點(diǎn)擊
this.postionClass = 'd' + this.index
}
}
})
</script>
</body>
</html>
用computed優(yōu)化一下代碼
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<style>
#box {
width: 100px;
height: 100px;
background-color: aquamarine;
}
/* 第二步寫4個(gè)樣式 */
.d1 {
/* translate根據(jù)左(X軸)和頂部(Y軸)位置給定的參數(shù),從當(dāng)前元素位置移動(dòng)。 */
transform: translate(0, 0);
}
.d2 {
/* translate根據(jù)左(X軸)和頂部(Y軸)位置給定的參數(shù),從當(dāng)前元素位置移動(dòng)。 */
transform: translate(200px, 0);
}
.d3 {
/* translate根據(jù)左(X軸)和頂部(Y軸)位置給定的參數(shù),從當(dāng)前元素位置移動(dòng)。 */
transform: translate(200px, 200px);
}
.d4 {
/* translate根據(jù)左(X軸)和頂部(Y軸)位置給定的參數(shù),從當(dāng)前元素位置移動(dòng)。 */
transform: translate(0, 200px);
}
</style>
</head>
<body>
<div id="app">
<!-- 第一步: 在容器里邊寫一個(gè)盒子;綁定一個(gè)樣式 -->
<div id="box" :class="postionClass">
</div>
<!-- 第四步:寫一個(gè)點(diǎn)擊事件 -->
<button @click="toggle">點(diǎn)擊切換</button>
</div>
<script>
var app = new Vue({
el: "#app",
// 第三步 : 樣式設(shè)置默認(rèn)值
data: {
// postionClass: 'd1',
// 第六步設(shè)定index初始值為1;從d1 d2 d3 d4后邊這個(gè)1
index: 1
},
computed: {
postionClass(){
return 'd' + this.index
}
},
methods: {
// 第五步:綁定點(diǎn)擊事件
toggle() {
// 第八步: 判斷index不能大于4,返回1 (d1);否則的話返回的是index+1
this.index = this.index + 1 > 4 ? 1 : this.index + 1;
// 第七步:點(diǎn)擊
// this.postionClass = 'd' + this.index
}
}
})
</script>
</body>
</html>
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
element中async-validator異步請(qǐng)求驗(yàn)證使用
本文主要介紹了element中async-validator異步請(qǐng)求驗(yàn)證使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
vue微信分享的實(shí)現(xiàn)(在當(dāng)前頁(yè)面分享其他頁(yè)面)
這篇文章主要介紹了vue微信分享,在當(dāng)前頁(yè)面分享其他頁(yè)面,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-04-04
vue使用lodash中debounce(防抖函數(shù))的幾種方法實(shí)現(xiàn)
本文主要介紹了vue使用lodash中debounce(防抖函數(shù))的幾種方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02
vue2使用wangeditor實(shí)現(xiàn)手寫輸入功能
這篇文章主要為大家詳細(xì)介紹了vue2如何使用wangeditor實(shí)現(xiàn)手寫輸入功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解下2023-12-12
vue 數(shù)據(jù)遍歷篩選 過濾 排序的應(yīng)用操作
這篇文章主要介紹了vue 數(shù)據(jù)遍歷篩選 過濾 排序的應(yīng)用操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11
Vue使用xlsx和xlsx-style導(dǎo)出表格出現(xiàn)部分樣式缺失的問題解決
這篇文章主要為大家詳細(xì)介紹一下Vue使用xlsx-style導(dǎo)出excel時(shí)樣式的設(shè)置,以及出現(xiàn)添加背景色,合并單元格部分樣式缺失問題的解決,需要的可以參考下2024-01-01
vue中$emit傳遞多個(gè)參(arguments和$event)
本文主要介紹了vue中$emit傳遞多個(gè)參(arguments和$event),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02

