vue項目點擊元素后如何改變樣式
vue項目點擊元素后改變樣式
點擊元素都改變其樣式的步驟
示例:
想實現點擊產品名稱時其顏色變?yōu)樗{色:
點擊前:

點擊后樣式改變:

使用步驟
1.在template顯示的數據中添加單擊事件和樣式綁定:
代碼如下(示例代碼為uniapp):
<view class="z-tr" v-for="(item,index) in productList" :key="item.id">
<view class="z-td">{{index + 1 }}</view>
<view class="z-td" :class="{'visited':isvisited==index}" @click="visitfun(index)">{{ item.productname }}</view>
<view class="z-td text-green">{{ item.successmessage }}</view>
<view class="z-td text-red">{{ item.faillmessage }}</view>
</view>2.data數據層:
代碼如下(示例):
注意:
isvisited:-1時候默認不選中任何元素。等于isvisited:0 默認選中第一個元素
data() {
return {
isvisited: -1,
}
}3.methods添加事件:
methods: {
visitfun(index){
this.isvisited=index;
},
}4.在style中設置想要改變的樣式,這里就只是將字體設置成藍色:
<style>
.visited{
color: blue;
}
</style>vue動態(tài)更改元素樣式
在vue項目開發(fā)中,好多地方需要動態(tài)去改變元素的樣式,例如:更改元素class名去更換元素的樣式,或更改元素的style去更改元素樣式。
元素的顯示、隱藏、大小、顏色等,也可以配合vuex使用實現類似主題話的更改。
動態(tài)更改style
通過style取值為變量來實現動態(tài)控制樣式的效果
<template>
<div :style="{background:yanse,width:kuai,height:gao+'px'}">
</div>
</template>
<script>
export default {
data(){
return{
yanse:"red",
kuai:"100px",
gao:100
}
}
}
</script>
<style>
</style>通過class名去更改元素樣式
通過三目運算符來實現元素樣式的切換
<template>
<div :class='state?"red":"blue"'>
</div>
</template>
<script>
export default {
data(){
return{
state:true,
}
}
}
</script>
<style>
.red{
width: 100px;
height: 100px;
background: red;
}
.blue{
width: 100px;
height: 100px;
background: blue;
}
</style>升級用法
我們項目開發(fā)中可能遇到用戶自定義主題顏色的需求,我們可以通過vuex來實現全局顏色的更改,將顏色作為一個變量存儲在vuex中,通過更改vuex變量的值,實現全局樣式的更改。
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

