Vue.js计算机属性computed和methods方法详解


Posted in Javascript onOctober 12, 2019

在使用Vue.js时,会发现调用menthods里的方法也可以与计算机属性起到同样的作用,如:

<div id="app">
 
 <!--利用计算机属性实现逆向文本的效果-->
 <input type="text" v-model="text" property="请输入要逆转的文本/>
 <!--逆转的方法-->
 <h3>计算机属性逆转:{{reversedText}}</h3>
 <!--通过调用methods里的方法也可以与计算机属性起到同样的作用-->
 <!--注意,方法要带'()'-->
 <h3>方法逆转:{{reversedTextM()}}</h3>
 
</div>
<script>
 var app = new Vue({
  el: '#app',
  data: {
  text: '123,456'
  },
  methods: {
  reversedTextM: function () { 
   return this.text.split(',').reverse().join(',');
  },
  },
  computed: {
  reversedText: function () { //翻转文本的方法
   //这里的this指向当前Vue实例
   return this.text.split(',').reverse().join(',');
  }
  }
 });
</script>

在methods里定义了一个方法实现了和计算机属性相同的效果,甚至该方法还可以接受参数,使用起来更灵活,既然使用methods就可以实现,那为什么还需要计算机属性呢?原因就是计算机属性是基于它的依赖缓存的。一个计算机属性所依赖的数据发生变化时,它才会重新赋值,所以text只要不改变,计算机属性也就不会更新,如:

computed: {
 now: function () {
 return Date.now();
 }
}

这里的Date.now()不是响应式依赖,所以计算机属性now不会更新。但是methods则不同,只要重新渲染,它就会被调用,因此函数也会被执行。

总结: 使用计算机属性还是methods取决于你是否需要缓存,当遍历大数组和做大量计算时,应当使用计算机属性,除非你不希望得到缓存。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery remove方法应用详解
Nov 22 Javascript
THREE.JS入门教程(2)着色器-上
Jan 24 Javascript
HTML上传控件取消选择
Mar 06 Javascript
js实现ArrayList功能附实例代码
Oct 29 Javascript
JavaScript AOP编程实例
Jun 16 Javascript
AngularJS指令中的绑定策略实例分析
Dec 14 Javascript
强大的 Angular 表单验证功能详细介绍
May 23 Javascript
JS基于正则表达式实现的密码强度验证功能示例
Sep 21 Javascript
ES6学习教程之块级作用域详解
Oct 09 Javascript
手把手教你用Node.js爬虫爬取网站数据的方法
Jul 05 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
Mar 02 Javascript
vscode中Vue别名路径提示的实现
Jul 31 Javascript
微信小程序 导入图标实现过程详解
Oct 11 #Javascript
在vue中高德地图引入和轨迹的绘制的实现
Oct 11 #Javascript
vue实现点击按钮下载文件功能
Oct 11 #Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
Oct 11 #Javascript
详解vue 自定义组件使用v-model 及探究其中原理
Oct 11 #Javascript
JsonProperty 的使用方法详解
Oct 11 #Javascript
vue element upload组件 file-list的动态绑定实现
Oct 11 #Javascript
You might like
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
2016/03/28 PHP
Symfony查询方法实例小结
2017/06/28 PHP
PHP实现微信申请退款功能
2018/10/01 PHP
PHP精确到毫秒秒杀倒计时实例详解
2019/03/14 PHP
页面只能打开一次Cooike如何实现
2012/12/04 Javascript
SinaEditor使用方法详解
2013/12/28 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
让Vue也可以使用Redux的方法
2018/05/23 Javascript
element ui table 增加筛选的方法示例
2018/11/02 Javascript
实例分析JS中的相等性判断===、 ==和Object.is()
2019/11/17 Javascript
JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转
2019/11/25 Javascript
[49:31]TFT vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python升级提示Tkinter模块找不到的解决方法
2014/08/22 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
Python中read()、readline()和readlines()三者间的区别和用法
2017/07/30 Python
python爬虫框架scrapy实现模拟登录操作示例
2018/08/02 Python
Python Learning 列表的更多操作及示例代码
2018/08/22 Python
Python 变量的创建过程详解
2019/09/02 Python
Python3.7实现验证码登录方式代码实例
2020/02/14 Python
Python matplotlib实时画图案例
2020/04/23 Python
Python with语句用法原理详解
2020/07/03 Python
Python 高效编程技巧分享
2020/09/10 Python
如何完美的建立一个python项目
2020/10/09 Python
浅谈Html5移动端ios/Android兼容性总结
2018/06/01 HTML / CSS
马克华菲官方商城:Mark Fairwhale
2016/09/04 全球购物
会计毕业生自荐信
2013/11/21 职场文书
校园之星获奖感言
2014/01/29 职场文书
优秀教师的感人事迹
2014/02/04 职场文书
2014年中学生检讨书大全
2014/10/09 职场文书
不同意离婚代理词
2015/05/23 职场文书
生活委员竞选稿
2015/11/21 职场文书
nginx作grpc的反向代理踩坑总结
2021/07/07 Servers
使用Python解决图表与画布的间距问题
2022/04/11 Python