Vue 中指令v-bind動(dòng)態(tài)綁定及與v-for結(jié)合使用詳解
前言:
在昨天的文章中已經(jīng)基本介紹了,v-bind的基本使用,可以參考學(xué)習(xí),本文是更加具體的解釋v-bind的使用,和v-for結(jié)合的使用。
一、 v-bind動(dòng)態(tài)綁定class
1. v-bind動(dòng)態(tài)綁定class(對(duì)象語(yǔ)法)
這里舉簡(jiǎn)單例子來(lái)體現(xiàn)綁定效果,設(shè)置一個(gè)按鈕可以控制對(duì)象里面元素的顏色,這時(shí)候?qū)ο缶鸵壎▌?dòng)態(tài)事件,才能實(shí)現(xiàn)變化。
有兩種綁定的方法
一種直接在h5中直接綁定顏色變化,另一種是調(diào)用函數(shù)的方式綁定,需要注意,直接寫就不需要this,但是在調(diào)用函數(shù)里面需要使用this才能實(shí)現(xiàn)。其中還要注意,變色的條件是自己設(shè)置了一個(gè)為false點(diǎn)擊后取反出現(xiàn),然后再取反,就會(huì)出現(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">點(diǎn)擊變色</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動(dòng)態(tài)綁定class(數(shù)組用法)
class屬性中可以放數(shù)組,會(huì)依次解析成對(duì)應(yīng)的class。
- ? 加上單引號(hào)的表示字符串
- ? 不加的會(huì)當(dāng)成變量
- ? 可以直接使用方法返回?cái)?shù)組對(duì)象
<div id="app">
<!-- 加上單引號(hào)當(dāng)成字符串 -->
<h3 class="title" :class="['active','line']">{{message}}</h3>
<!-- 不加會(huì)被當(dāng)成變量 -->
<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動(dòng)態(tài)綁定style(對(duì)象語(yǔ)法)
<!-- <h3 :style="{key(屬性名):value(屬性值)}">{{message}}</h3> -->
<!-- 加單引號(hào),當(dāng)成字符串解析 -->
<h3 :style="{fontSize:'50px'}">{{message}}</h3>
<!-- 不加單引號(hào),變量解析 -->
<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動(dòng)態(tài)綁定style(數(shù)組語(yǔ)法)
<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é)合使用
實(shí)現(xiàn)了,點(diǎn)擊字體會(huì)出現(xiàn)變色,前提是需要先通過(guò)v-for把數(shù)組內(nèi)的內(nèi)容全部都遍歷出來(lái),在通過(guò)綁定事件,來(lái)實(shí)現(xiàn)顏色的切換,其中需要注意,自己設(shè)置了一個(gè)當(dāng)前的索引,通這個(gè)索引來(lái)判斷當(dāng)前的情況,從而發(fā)生顏色的變化,實(shí)現(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動(dòng)態(tài)綁定及與v-for結(jié)合使用詳解的詳細(xì)內(nèi)容,更多關(guān)于Vue 指令v-bind結(jié)合v-for的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
vue不通過(guò)路由直接獲取url中參數(shù)的方法示例
通過(guò)url傳遞參數(shù)是我們?cè)陂_(kāi)發(fā)中經(jīng)常用到的一種傳參方法,但通過(guò)url傳遞后改如果獲取呢?下面這篇文章主要給大家介紹了關(guān)于vue如何不通過(guò)路由直接獲取url中參數(shù)的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-08-08
使用 Vue 綁定單個(gè)或多個(gè) Class 名的實(shí)例代碼
這篇文章主要介紹了使用 Vue 綁定單個(gè)或多個(gè) Class 名的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2018-01-01
Vue Element前端應(yīng)用開(kāi)發(fā)之功能點(diǎn)管理及權(quán)限控制
在一個(gè)業(yè)務(wù)管理系統(tǒng)中,如果我們需要實(shí)現(xiàn)權(quán)限控制功能,我們需要定義好對(duì)應(yīng)的權(quán)限功能點(diǎn),然后在界面中對(duì)界面元素的功能點(diǎn)進(jìn)行綁定,這樣就可以在后臺(tái)動(dòng)態(tài)分配權(quán)限進(jìn)行動(dòng)態(tài)控制了,權(quán)限功能點(diǎn)是針對(duì)角色進(jìn)行控制的,也就是簡(jiǎn)稱RBAC(Role Based Access Control)。2021-05-05
Vue.js 利用v-for中的index值實(shí)現(xiàn)隔行變色
這篇文章主要介紹了Vue.js 利用v-for中的index值實(shí)現(xiàn)隔行變色效果,首先定義好樣式,利用v-for中的index值,然后綁定樣式來(lái)實(shí)現(xiàn)隔行變色,需要的朋友可以參考下2018-08-08
Vue實(shí)現(xiàn)跑馬燈樣式文字橫向滾動(dòng)
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)跑馬燈樣式文字橫向滾動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
Mint UI實(shí)現(xiàn)A-Z字母排序的城市選擇列表
這篇文章主要為大家詳細(xì)介紹了Mint UI實(shí)現(xiàn)A-Z字母排序的城市選擇列表,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
vue 自動(dòng)化路由實(shí)現(xiàn)代碼
這篇文章主要介紹了vue 自動(dòng)化路由實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
在vue項(xiàng)目中引入scss并使用scss樣式詳解
SCSS是一種CSS預(yù)處理語(yǔ)言,定義了一種新的專門的編程語(yǔ)言,編譯后形成正常的css文件,為css增加一些編程特性,這篇文章主要給大家介紹了關(guān)于在vue項(xiàng)目中引入scss并使用scss樣式的相關(guān)資料,需要的朋友可以參考下2022-07-07

