本篇文章为大家展示了如何在Vue中计算属性,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
1、计算属性
像绑定普通属性一样在模板中绑定计算属性。例如reverseName属性依赖于firstName和lastName,当firstName或lastName发生改变时,依赖于它的 reverseName 也会更新。
利用函数方法也可以实现类似的效果,不同的是计算属性是基于它们的依赖进行缓存的。只有在它的相关依赖发生改变时才会重新求值。这就意味着只要 firstName 还没有发生改变,再次访问 reversedName 计算属性会立即返回之前的计算结果,而不必再次执行函数。相比之下,每当触发重新渲染时,调用方法将总会再次执行函数.
为什么需要缓存?假设我们有一个性能开销比较大的的计算属性 A,它需要遍历一个巨大的数组并做大量的计算。然后我们可能有其他的计算属性 B 依赖于 A 。如果使用函数,每获得一次B就要调用一次函数进行计算,造成很大开销!
计算属性默认为get方法,也可以设定set方法,接收传入处理数据。例如传入originalName,set方法对其进行拆解并复制给firstName与lastName,并引起firstName与lastName改变,调用get()方法。
<div id="app">
<p>{{originalName}}</p>
<p>{{reverseName}}</p>
<button @click="deal()">反转名字</button>
</div>
let vue=new Vue({
el:'#app',
data:{
firstName:'',
lastName:'',
originalName:"super tory"
},
methods:{
deal(){
this.reverseName=this.originalName;
}
},
computed:{ //计算属性钩子
reverseName:{
set(string){ //通过set方法对传入参数this.originalName进行操作
let name=string.split(' ');
this.firstName=name[1];
this.lastName=name[0];
},
get(){ //通过get方法返回值
return this.firstName+' '+this.lastName;
}
}
}
});
2、侦听器watch
在Vue中提供一个钩子,侦听data中的某个变量是否改变,如果改变则执行响应函数。
<div id="app2">
<input v-model="listen">
</div>
let vue2=new Vue({
el:'#app2',
data:{
listen:''
},
watch:{ //定义侦听器钩子
listen:function () { //定义函数侦听listen的变化
console.log("input内容发生改变");
}
}
});
Vue是一套用于构建用户界面的渐进式JavaScript框架,Vue与其它大型框架的区别是,使用Vue可以自底向上逐层应用,其核心库只关注视图层,方便与第三方库和项目整合,且使用Vue可以采用单文件组件和Vue生态系统支持的库开发复杂的单页应用。
上述内容就是如何在Vue中计算属性,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。