Vue中的计算属性和侦听器
程序员文章站
2022-05-17 07:58:06
...
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>计算属性</title>
<!-- 在head里面引入,避免闪屏问题 -->
<script src="./vue.js"></script>
</head>
<body>
<div id="root">
<!-- 双向数据绑定 -->
姓:<input v-model = "firstName"/>
名:<input v-model = "lastName"/>
<div>全名:{{fullName}}</div>
<div>侦听器:{{count}}</div>
</div>
<script>
new Vue({
el: "#root",
data:{
firstName:'',
lastName:'',
count: 0,
},
// 计算属性 代表一个属性是由其他属性计算而来。只有依赖的属性发生变化时才会变化
// 如果子项没有改变,每次使用fullName时会使用上一次计算的缓存结果
computed:{
fullName: function(){
return this.firstName + '' + this.lastName
}
},
// 侦听器 以下两个属性任何一个发生变化都会侦听到
// watch: {
// firstName: function(){
// this.count ++
// },
// lastName : function(){
// this.count ++
// }
// }
// 侦听器 直接监听全名变化
watch: {
fullName: function(){
this.count ++
}
}
})
</script>
</body>
</html>