4Vue计算属性
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了4Vue计算属性,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2836字,纯文字阅读大概需要5分钟。
内容图文
Computed
1. 我们可用使用计算属性去处理模板内的复杂逻辑。如下代码:使{{fullName}}代替{{fristName+" "+lastName}}。
<! DOCTYPE html > < html lang ="en" > < head > < meta charset ="UTF-8" > < meta name ="viewport" content ="width=device-width, initial-scale=1.0" > < script src ="./vue.js" ></ script > < title >Document</title></head><body><div id="app"> {{fullName}} {{age}} </div></body><script>var vm=new Vue({ el:"#app", data:{ fristName:"miao", lastName:"xiao", age:28 }, //计算属性,减少冗余,不用重新定义fullName computed:{ fullName:function(){ //缓存机制,依赖的变量没有发生改变,fullName就不会重新计算。 console.log("计算了一次") returnthis.fristName+""+this.lastName; } } }) </script></html>
并且computed具有缓存机制,就是fullName的函数依赖于fristName和lastName,其中只要有一个变量发生变化,fullName就会重新计算,如果没有变化,就会使用缓存。
2. 当然,使{{fullName}}代替{{fristName+" "+lastName}}也可以使用方法的形式来实现,如下
var vm=new Vue({ el:"#app", data:{ fristName:"miao", lastName:"xiao", age:28 }, methods:{ fullName:function(){ console.log("计算了一次") returnthis.fristName+" "+this.lastName } } })
但是这种方式是没有缓存机制的,页面每次渲染都会执行一次fullName方法,开销会变大
我们也可以使用watch实现缓存机制,但是需要初始化fullName,就造成了变量的冗余了。
<! DOCTYPE html > < html lang ="en" > < head > < meta charset ="UTF-8" > < meta name ="viewport" content ="width=device-width, initial-scale=1.0" > < script src ="./vue.js" ></ script > < title >Document</title></head><body><div id="app"> {{fullName}} {{age}} </div></body><script>var vm=new Vue({ el:"#app", data:{ fristName:"miao", lastName:"xiao", fullName:"miao xiao", age:28 }, watch:{ //监听fristName,lastName的改变 fristName:function(){ console.log("计算了一次"); this.fullName=this.fristName+""+this.lastName; }, lastName:function(){ console.log("计算了一次"); this.fullName=this.fristName+""+this.lastName; }, } }) </script></html>
watch和computed都具备缓存的机制,但是watch要复杂些。
总结:在computed、methods和watch都能实现同一种结果的时候,computed效果更好。
get和set
<! DOCTYPE html > < html lang ="en" > < head > < meta charset ="UTF-8" > < meta name ="viewport" content ="width=device-width, initial-scale=1.0" > < script src ="./vue.js" ></ script > < title >Document</title></head><body><div id="app"> {{fullName}} {{age}} </div></body><script>var vm=new Vue({ el:"#app", data:{ fristName:"miao", lastName:"xiao", age:28 }, computed:{ fullName:{ //获取fullName的时候使用get get:function(){ returnthis.fristName+""+this.lastName; }, //设置fullName的时候,可以传参,还可以修改依赖的值,使fullName重新计算 set:function(value){ var arr=value.split(""); this.fristName=arr[0];//改变依赖的相关的值 this.lastName=arr[1]; } } } }) </script></html>
原文:https://www.cnblogs.com/ellen-mylife/p/14055645.html
内容总结
以上是互联网集市为您收集整理的4Vue计算属性全部内容,希望文章能够帮你解决4Vue计算属性所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。