三、動態繫結屬性
01-v-bind的基本使用
1.1v-bind
1、除了內容需要動態來決定外,某些屬性我們也希望動態來繫結
- 比如動態繫結a元素的href屬性
- 比如動態繫結img元素的src屬性
2、這個時候,我們可以使用v-bind指令:
- 作用:動態繫結屬性
- 縮寫:語法糖 :(簡寫)
- 預期:any(with argument) | Object(without argument)
- 引數:attrOrProp(optional)
1.2程式碼實戰
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>01-v-bind的基本使用</title>
</head>
<body>
<div id="app">
<!--錯誤的用法,這裡不可以用mustache語法-->
<!--<img src="{{imgURL}}}" alt="">-->
<!--正確用法-->
<img v-bind:src="imgURL" alt="">
<!-- 語法糖,動態繫結簡寫-->
<img :src="imgURL" alt="">
<a :href="baiduURL">百度一下</a>
</div>
<script type="text/javascript" src="../js/vue.js"></script>
<!--如果沒有安裝vue.js,就用下面的程式碼-->
<!--<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>-->
<script type="text/javascript">
const vm = new Vue({
el: '#app',
data: {
imgURL: 'https://huyaimg.msstatic.com/cdnimage/gamebanner/phpaicNpn1595239718.jpg',
baiduURL: 'http://www.baidu.com'
}
})
</script>
</body>
</html>
1.3執行結果
02-v-bind動態繫結class(物件語法)
2.1v-bind繫結class
1、繫結方式:物件語法
- 物件語法的含義是:class後面跟的是一個物件
2、用法
- 通過判斷,顯示或隱藏傳入的類
- 普通的類同時存在,並不會覆蓋,而是合併
- 如果過於複雜,可以放在一個methods或者computed中
2.2程式碼實戰
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>02-v-bind動態繫結class(物件語法)</title>
<style>
.active{
color: red;
}
.family{
font-family: 新宋體;
}
.size{
font-size: 30px;
}
</style>
</head>
<body>
<div id="app">
<!--:class的值可以放一個物件-->
<!--<h2 :class="{類名1: boolean,類名2: boolean}">{{message}}</h2>-->
<h2 class="size" :class="getClasses()">{{message}}</h2>
<button v-on:click="btnClickActive">切換顏色</button>
<button v-on:click="btnClickFamily">切換字型</button>
</div>
<script type="text/javascript" src="../js/vue.js"></script>
<!--如果沒有安裝vue.js,就用下面的程式碼-->
<!--<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>-->
<script type="text/javascript">
const vm = new Vue({
el: '#app',
data: {
message: 'hello world!',
isActive: true,
isFamily: true
},
methods:{
btnClickActive:function () {
this.isActive = !this.isActive;
},
btnClickFamily:function () {
this.isFamily = !this.isFamily;
},
getClasses:function () {
return {active: this.isActive,family: this.isFamily};
}
}
})
</script>
</body>
</html>
2.3執行結果
03-點選列表更改字型顏色
3.1案例需求
- 問題:點選列表中的哪一項,那麼該項的文字就變成紅色
- 說明:Vue中v-for,v-bind(:),v-on(@)的綜合使用
3.2程式碼實戰
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>03-點選列表更改字型顏色</title>
<style>
.active{
color: red;
}
</style>
</head>
<body>
<div id="app">
<ul>
<li v-for="(movie,index) in movies" :class="{active:isActive === index}" v-on:click="liClick(index)">{{movie}}</li>
</ul>
</div>
<script type="text/javascript" src="../js/vue.js"></script>
<!--如果沒有安裝vue.js,就用下面的程式碼-->
<!--<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>-->
<script type="text/javascript">
const vm = new Vue({
el: '#app',
data: {
movies: ['蜘蛛俠','鋼鐵俠','綠巨人','蝙蝠俠'],
isActive:-1
},
methods: {
liClick:function (index) {
this.isActive = index;
}
}
})
</script>
</body>
</html>
3.3執行結果
04-v-bind動態繫結style
4.1程式碼實戰
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>04-v-bind動態繫結style</title>
</head>
<body>
<div id="app">
<h2 :style="getStyles()">{{message}}</h2>
</div>
<script type="text/javascript" src="../js/vue.js"></script>
<!--如果沒有安裝vue.js,就用下面的程式碼-->
<!--<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>-->
<script type="text/javascript">
const vm = new Vue({
el: '#app',
data: {
message: 'hello world!',
finalSize:100,
finalColor:"red",
finalBackgroundColor:"pink"
},
methods:{
getStyles(){
return {fontSize:this.finalSize+'px',color:this.finalColor,background:this.finalBackgroundColor}
}
}
})
</script>
</body>
</html>
4.2執行結果
相關文章
- 2. Vue語法--插值操作&動態繫結屬性 詳解Vue
- 理解靜態繫結與動態繫結
- C++ — 靜態繫結與動態繫結C++
- WPF使用MVVM(一)-屬性繫結MVVM
- C++的動態繫結和靜態繫結C++
- java繼承-靜態繫結和動態繫結Java繼承
- java中的靜態繫結與動態繫結Java
- 動態繫結一
- 單元測試內實現屬性自動繫結
- 動態繫結和靜態繫結的簡單理解
- [譯] Angular 屬性繫結更新機制Angular
- jQuery動態修改連結的href屬性值jQuery
- Vue 動態繫結圖片 src 屬性閃屏 白屏 無內容顯示 BUG 小記Vue
- 深入理解 C++ 的動態繫結和靜態繫結C++
- JAVA動態繫結淺析Java
- 動態繫結的心得 (轉)
- C#-----ExpandoObject動態屬性C#Object
- PHP動態屬性和stdclassPHP
- 第二講、Vue3.x繫結資料、繫結html、繫結屬性、迴圈資料VueHTML
- vue 動態繫結 v-modelVue
- 動態繫結 input v-model
- Vue 動態繫結CSS樣式VueCSS
- 關於動態字串的繫結字串
- Laravel 動態屬性的實現Laravel
- 用DataBindings屬性繫結控制元件的值控制元件
- GridView中使用三元運算子進行動態繫結View
- class 和 style 資料動態繫結
- Vue select 繫結動態變數Vue變數
- 域名繫結動態IP實戰案例
- vue動態(type可變)input繫結Vue
- 介面的繫結方案和動態SQLSQL
- Vue 動態資料繫結核心方法Vue
- SQL Server動態SQL,繫結變數SQLServer變數
- java基礎:多型(動態繫結)Java多型
- 動態修改input元素type屬性值
- 聊聊spring boot tomcat jdbc pool的屬性繫結Spring BootTomcatJDBC
- WPF:MVVM的由來與屬性繫結的過程MVVM
- JavaScript私有屬性和靜態屬性JavaScript