Vue中computed、methods、watch的联系和区别
2024-09-05 19:02:29
computed是计算树形,methods是方法。
new Vue({
el: '#example',
data: {
message: 'Hello'
},
computed: {
reversedMessage: function () {
return this.message.split('').reverse().join('')
}
},
methods: {
reversedMessage: function () {
return this.message.split('').reverse().join('')
}
}
})
两种方法执行的结果是一样的,不同的是computed计算属性是基于他们的依赖进行缓存的,computed只有在它的相关依赖发生改变时才会重新求职。这就意味着只要message还没有发生改变,多次访问reversedMessage,计算属性就会立即返回之前的计算结果,而不会再次执行函数。method只要发生重新渲染,methods调用总会执行该函数。
总之:数据量大,需要缓存的时候用computed;每次确实需要重新加载,不需要缓存时用methods。
computed 和 watch 都可以观察页面的数据变化。当处理页面的数据变化时,我们有时候很容易滥用watch。 而通常更好的办法是使用computed属性,而不是命令是的watch回调。
总之:尽量用computed计算属性来监视数据的变化,因为它本身就这个特性,用watch没有computed“自动”,手动设置使代码变复杂。
虽然计算属性在大多数情况下是非常适合的,但是在有些情况下我们需要自定义一个watcher,在数据变化时来执行异步操作,这时watch是非常有用的。
最新文章
- [bigdata] hadoop 参数配置解析
- selenium Remote Server 实现原理
- struts-OGNL
- android 启动过程
- Oracle 查询字段在什么表
- SpringMVC学习总结(二)——DispatcherServlet详解
- Tomcat内存溢出的原因
- 和阿木聊Node.js
- 第六周 G题
- POJ1062 昂贵的聘礼 【DFS】
- Java IO流之对象流
- CSS备战春招の二
- [poj2585]Window Pains_拓扑排序
- C 标识符, 数据存储形式(原码,反码,补码)
- Zabbix安装部署(CentOS系统下)
- L-BFGS算法(转载)
- Linux的简单介绍.
- pyhanlp 中文词性标注与分词简介
- 【nlp】中文分词基础原则及正向最大匹配法、逆向最大匹配法、双向最大匹配法的分析
- Centos之关机和重启命令
热门文章
- 初识MySQL <;一>;
- sql server 获取随机数函数RAND()和RAND(x)
- 使用QtXlsx来读写excel文件
- icmp, IPPROTO_ICMP - Linux IPv4 ICMP 核心模块.
- [转载]一个支持Verilog的Vim插件——自动插入always块
- Centos 7.5 双网卡内外网同时访问路由设置
- ListView的创建
- pushd&;popd&;dirs命令
- springMVC项目访问URL链接时遇到某一段然后忽略后面的部分
- Gym-100923L-Por Costel and the Semipalindromes(进制转换,数学)