Vue 中指令v-bind動態(tài)綁定及與v-for結(jié)合使用詳解
前言:
在昨天的文章中已經(jīng)基本介紹了,v-bind的基本使用,可以參考學習,本文是更加具體的解釋v-bind的使用,和v-for結(jié)合的使用。
一、 v-bind動態(tài)綁定class
1. v-bind動態(tài)綁定class(對象語法)
這里舉簡單例子來體現(xiàn)綁定效果,設(shè)置一個按鈕可以控制對象里面元素的顏色,這時候?qū)ο缶鸵壎▌討B(tài)事件,才能實現(xiàn)變化。
有兩種綁定的方法
一種直接在h5中直接綁定顏色變化,另一種是調(diào)用函數(shù)的方式綁定,需要注意,直接寫就不需要this,但是在調(diào)用函數(shù)里面需要使用this才能實現(xiàn)。其中還要注意,變色的條件是自己設(shè)置了一個為false點擊后取反出現(xiàn),然后再取反,就會出現(xiàn)變色不變色的樣式。
代碼如下:
<style>
.active{
color:red;
}
</style>
</head>
<body>
<div id="app">
<h3 class="title" :class="{active:isActive}">{{message}}</h3>
<h3 class="title" :class="getClasses()">{{message}}</h3>
<button @click="change">點擊變色</button>
</div>
<script src="vue.js"></script>
<script>
const app = new Vue({
el:"#app",
data:{
message:"你好啊",
active:"active",
isActive:false
},
methods: {
change(){
this.isActive = !this.isActive
},
getClasses(){
return {active:this.isActive}
}
},
})
</script>
2. v-bind動態(tài)綁定class(數(shù)組用法)
class屬性中可以放數(shù)組,會依次解析成對應(yīng)的class。
- ? 加上單引號的表示字符串
- ? 不加的會當成變量
- ? 可以直接使用方法返回數(shù)組對象
<div id="app">
<!-- 加上單引號當成字符串 -->
<h3 class="title" :class="['active','line']">{{message}}</h3>
<!-- 不加會被當成變量 -->
<h3 class="title" :class="[active,line]">{{message}}</h3>
<h3 class="title" :class="getClasses()">{{message} {{getClasses()[1]}}</h3>
</div>
<script src="vue.js"></script>
<script>
const app = new Vue({
el:"#app",
data:{
message:"你好啊",
active:"aaaa",
line:'bbbb'
},
methods: {
getClasses(){
return [this.active,this.line]
}
},
})
</script>
3.v-bind動態(tài)綁定style(對象語法)
<!-- <h3 :style="{key(屬性名):value(屬性值)}">{{message}}</h3> -->
<!-- 加單引號,當成字符串解析 -->
<h3 :style="{fontSize:'50px'}">{{message}}</h3>
<!-- 不加單引號,變量解析 -->
<h3 :style="{fontSize:fontSize}">{{message}}</h3>
<h3 :style="getClasses()">{{message}}</h3>
</div>
<script src="vue.js"></script>
<script>
const app = new Vue({
el:"#app",
data(){
return{ message:"你好啊",
fontSize:50+'px'
}
},
methods: {
getClasses(){
return {fontSize:this.fontSize}
}
},
})
</script>
4.v-bind動態(tài)綁定style(數(shù)組語法)
<div id="app">
<h3 :style="[baseStyle]">{{message}}</h3>
<h3 :style="getStyle()">{{message}}</h3>
</div>
<script src="vue.js"></script>
<script>
const app = new Vue({
el:"#app",
data:{
message:"你好啊",
baseStyle:{backgroundColor:'red'}
},
methods: {
getStyle(){
return [this.baseStyle]
}
},
})
</script>
二、v-bind和v-for的結(jié)合使用
實現(xiàn)了,點擊字體會出現(xiàn)變色,前提是需要先通過v-for把數(shù)組內(nèi)的內(nèi)容全部都遍歷出來,在通過綁定事件,來實現(xiàn)顏色的切換,其中需要注意,自己設(shè)置了一個當前的索引,通這個索引來判斷當前的情況,從而發(fā)生顏色的變化,實現(xiàn)所需的結(jié)果。
<style>
.active{
color: red;
}
</style>
</head>
<body>
<div id="app">
<ul>
<li :class="currentIndex==index?'active':''" @click="change(index)" v-for="(item,index) in list">{{index}}--{{item}}</li>
</ul>
</div>
<script src="./vue.js"></script>
<script>
let vm = new Vue({
el:'#app',
data(){
return {
currentIndex:0,
list:["小明","小紅","小張","小李"],
}
},
methods:{
change(index){
this.currentIndex=index
}
}
})
</script>以上就是Vue 中指令v-bind動態(tài)綁定及與v-for結(jié)合使用詳解的詳細內(nèi)容,更多關(guān)于Vue 指令v-bind結(jié)合v-for的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Vue Element前端應(yīng)用開發(fā)之功能點管理及權(quán)限控制
在一個業(yè)務(wù)管理系統(tǒng)中,如果我們需要實現(xiàn)權(quán)限控制功能,我們需要定義好對應(yīng)的權(quán)限功能點,然后在界面中對界面元素的功能點進行綁定,這樣就可以在后臺動態(tài)分配權(quán)限進行動態(tài)控制了,權(quán)限功能點是針對角色進行控制的,也就是簡稱RBAC(Role Based Access Control)。2021-05-05
Vue.js 利用v-for中的index值實現(xiàn)隔行變色
這篇文章主要介紹了Vue.js 利用v-for中的index值實現(xiàn)隔行變色效果,首先定義好樣式,利用v-for中的index值,然后綁定樣式來實現(xiàn)隔行變色,需要的朋友可以參考下2018-08-08

