Vue:计算属性
1.计算属性用来干嘛?
答:用来对data里面的属性进行加工
2.直接为什么不用methods?
答:computed具备缓存功能而methods没有缓存功能
3.如何实现computed?
实现代码
<!DOCTYPE html>
<html lang="en" xmlns:>
<head>
<meta charset="UTF-8">
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="js/vue.js"></script>
<title>Title</title>
</head>
<body>
<div id="firstVue">
姓:<h1>{{firstname}}</h1>
名:<h1>{{secondname}}</h1>
姓名:<h1>{{fullname}}</h1>
//当调用了很多次fullname_get函数只会调用一次(因为缓存)
//get调用的时间:1.初始化 2.当关联的属性发生变换时候
姓名:<h1>{{fullname}}</h1>
姓名:<h1>{{fullname}}</h1>
姓名:<h1>{{fullname}}</h1>
</div>
</body>
<script type="text/javascript">
//关闭生成提示
Vue.config.productionTip=false;
let v=new Vue({
el:"#firstVue",
data:{
firstname:"张",
secondname:"三"
},
computed:{
//computed放的是一个对象并且实例后会并入data
//对象里面一定要有一个get()方法 当有人去读取属性fullname(把它当成属性就好)就会调用这个get
fullname:{
get(){
//vue 把这里的this调成了vm实例 get可以直接获得data的属性值
return this.firstname+this.secondname;
}
//不仅仅能写get
set(){
this.firstname="ss"
}
}
}
})
console.log(v)
</script >
</html>
4.简写computed
computed简写
//当fullname只是读(get)时候可简写(ES6新写法)
computed:{
fullname(){
return this.firstname+this.secondname;
}
}

浙公网安备 33010602011771号