一、对象语法
1.代码
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="./jquery-3.3.1.js"></script>
<script src="../vue.js"></script>
<style>
.activated{
color: red;
}
</style>
</head>
<body>
<div id="app">
<div @Click="handleDivClick"
:class="{activated: isActivated}" >
What do you mean?
</div>
</div>
<script>
/*MVVM
M层:data数据 V层:div展示的视图
VM层(我们无需实现):Vue即是VM层
Vue监听到数据变了,就帮我们改变视图层
Vue也能在视图层监听到一些事件触发,
然后通过VM这一层来调用我们写的逻辑代码(比如methods里面的)
从而又改变了M层的数据
这样的好处:我们只需关注M层,对数据进行处理
*/
var vm=new Vue({
el:'#app',
data:{
isActivated:false
},
methods:{
handleDivClick:function(){
this.isActivated=!this.isActivated;
}
}
});
</script>
</body>
2.效果截图
点击一下后:
二、数组语法
1、代码
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="./jquery-3.3.1.js"></script>
<script src="../vue.js"></script>
<style>
.activated{
color: red;
}
</style>
</head>
<body>
<div id="app">
<!-- :class 和一个数组绑定,数组里面的内容是一个变量
class上会显示这个变量对应的内容-->
<div @Click="handleDivClick"
:class="[activated,activatedOne]">
What do you mean?
</div>
</div>
<script>
var vm=new Vue({
el:'#app',
data:{
activated:"",
activatedOne:"activated-one"
},
methods:{
handleDivClick:function(){
this.activated = this.activated === "activated" ?
"" : "activated"
}
}
});
</script>
</body>
2.效果截图
点击一下后:
三、对象数组
1.代码
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="./jquery-3.3.1.js"></script>
<script src="../vue.js"></script>
<style>
.activated{
color: red;
}
</style>
</head>
<body>
<div id="app">
<!--和数组绑定 :style="[styleObj,{frontSize:'20px'}]"
和一个对象绑定 :style="styleObj"
:style 出现了冒号 这说明它是个指令, 所以:style后面的styleObj一定是个数据项
-->
<div :style="[styleObj,{fontSize:'20px'}]"
@Click="handleDivClick">
What do you mean?
</div>
</div>
<script>
var vm=new Vue({
el:'#app',
data:{
styleObj:{
color:"black"
}
},
methods:{
handleDivClick:function(){
this.styleObj.color =
this.styleObj.color === 'black' ? "red":"black";
}
}
});
</script>
</body>
2.效果截图
点击一下后: