03-动态绑定属性
属性 动态 绑定 03
2023-09-14 09:14:09 时间
01-v-bind的基本使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<!--错误的做法:这里不可以使用mustache语法-->
<img src="{{imgURL}}" alt="">
<!--正确的做法:使用v-bind指令-->
<img v-bind:src="imgURL" alt="">
<a v-bind:href="aHref">百度一下</a>
<!--语法糖的写法-->
<img :src="imgURL" alt="">
<a :href="aHref"></a>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
const app = new Vue({
el: '#app',
data: {
message: '你好!',
imgURL: 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Finews.gtimg.com%2Fnewsapp_bt%2F0%2F13209289359%2F1000.jpg&refer=http%3A%2F%2Finews.gtimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1666084442&t=56160636c6c4488ead478c04bbab9c8e',
aHref: 'http://www.baidu.com'
}
})
</script>
</script>
</body>
</html>
02-v-bind动态绑定class(一)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<style>
.active {
color: red;
}
</style>
<body>
<div id="app">
<h2 class="active">{{message}}</h2>
<h2 v-bind:class="active">{{message}}</h2>
<h2 :class="active">{{message}}</h2>
<!--class="{key:value}"-->
<h2 v-bind:class="{active:true,line:true}">{{message}}</h2>
<h2 :class="{active:false,line:false}">{{message}}</h2>
<h2 v-bind:class="{active:isActive,line:isLine}">{{message}}</h2>
<h2 :class="{active:isActive,line:isLine}">{{message}}</h2>
<button v-on:click="btnClick">变色按钮</button>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
const app = new Vue({
el: '#app',
data: {
message: '你好!',
active: 'active',
isActive: true,
isLine: true
},
methods: {
btnClick: function () {
this.isActive = !this.isActive;
}
}
})
</script>
</script>
</body>
</html>
03-v-bind动态绑定class(数组语法)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<style>
.active {
color: red;
}
</style>
<body>
<div id="app">
<h2 class="title" :class="[active,line]">{{message}}</h2>
<h2 class="title" :class="getClasses()">{{message}}</h2>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
const app = new Vue({
el: '#app',
data: {
message: '你好!',
active: 'aaaa',
line: 'bbbb',
},
methods: {
getClasses: function () {
return [this.active, this.line];
}
}
})
</script>
</script>
</body>
</html>
04-作业(v-for和v-bind的结合)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<style>
.active {
color: red;
}
</style>
<body>
<!--作业需求:点击列表中的哪一项,那么该项的文字变成红色-->
<div id="app">
<ul>
<li v-for="m in movies">{{m}}</li>
<li v-for="(m,index) in movies">{{index}}-{{m}}</li>
</ul>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
const app = new Vue({
el: '#app',
data: {
movies: ['海贼王', '火影忍者', '蜡笔小新', '美食的俘虏'],
}
})
</script>
</script>
</body>
</html>
05-v-bind动态绑定style(对象语法)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<!--<h2 :style="{key(属性名):value(属性值)}">{{message}}</h2>-->
<!--'50px'必须加上单引号,否则是当做一个变量去解析-->
<p :style="{fontSize:'50px'}">{{message}}</p>
<!--finalSize和finalColor当成一个变量去使用-->
<p :style="{fontSize:finalSize,color:finalColor}">{{message}}</p>
<p :style="getStyles()">{{message}}</p>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
const app = new Vue({
el: '#app',
data: {
message: '你好呀',
finalSize: '100px',
finalColor: 'red',
},
methods: {
getStyles: function () {
return {fontSize: this.finalSize, color: this.finalColor}
}
}
})
</script>
</script>
</body>
</html>
06-v-bind动态绑定style(数组语法)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<h2 v-bind:style="[baseStyle,baseStyle1]">{{message}}</h2>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
const app = new Vue({
el: '#app',
data: {
message: '你好呀',
baseStyle: {backgroundColor: 'red'},
baseStyle1: {fontSize: '50px'},
}
})
</script>
</script>
</body>
</html>
相关文章
- 操作域属性的监听器
- 使用bloodyAD对域属性进行查询与修改
- 【说站】python如何将实例用作属性
- 【说站】css line-height属性是什么
- ExcelVBA End属性查找”最后”的单元格
- 双向数据绑定中重要属性-Object.defineProperty()详解
- 【HTML5】HTML5 多媒体标签 ① ( audio 音频标签 | 音频标签常见属性值设置 | 音频标签默认代码设置 | 音频标签设置多种类型音频文件 )
- 2022-04-25:给定两个长度为N的数组,a[]和b[] 也就是对于每个位置i来说,有a[i]和b[i]两个属性 i a[i] b[i] j a[j] b[
- Python __slots__:限制类实例动态添加属性和方法
- 通过Java反射机制,动态给对象属性赋值,并获取属性值详解编程语言
- Linux文件的隐秘之处:破译隐藏属性(linux文件的隐藏属性)
- 定义Neo4j:定义关系的新方法(neo4j关系属性)
- Linux线程:基于资源池的属性(linux线程的属性)
- 深入了解Linux扩展属性:保护文件隐私,保障系统安全(linux扩展属性)
- javascript中的prototype属性使用说明(函数功能扩展)
- CSS和JS标签style属性对照表(方便js开发的朋友)
- 用正则查找html中有id属性的html标签
- 处理及遍历XML文档DOM元素属性及方法整理
- js将控件隐藏及display属性的使用介绍
- javascript动态添加、修改、删除对象的属性与方法详解
- jquery动态改变form属性提交表单
- PHP使用方法重载实现动态创建属性的get和set方法