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 相关文章推荐
将光标定位于输入框最右侧实现代码
Dec 04 Javascript
jQuery中ajax的使用与缓存问题的解决方法
Dec 19 Javascript
Jquery实现的角色左右选择特效
May 21 Javascript
javascript搜索框点击文字消失失焦时文本出现
Sep 18 Javascript
jquery实现点击查看更多内容控制段落文字展开折叠效果
Aug 06 Javascript
js检测用户输入密码强度
Oct 22 Javascript
Angular.js如何从PHP读取后台数据
Mar 24 Javascript
Mac下使用charles遇到的问题以及解决办法
Jan 10 Javascript
详解axios在node.js中的post使用
Apr 27 Javascript
Javascript数组方法reduce的妙用之处分享
Jun 10 Javascript
Vue3.0数据响应式原理详解
Oct 09 Javascript
javascript 易错知识点实例小结
Apr 25 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连接access数据库
2015/03/27 PHP
php用wangeditor3实现图片上传功能
2019/08/22 PHP
javaScript同意等待代码实现心得
2011/01/01 Javascript
JQury slideToggle闪烁问题及解决办法
2011/07/05 Javascript
文本有关的样式和jQuery求对象的高宽问题分别说明
2013/08/30 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
javascript检测是否联网的实现代码
2014/09/28 Javascript
整理JavaScript对DOM中各种类型的元素的常用操作
2016/05/05 Javascript
javascript深拷贝(deepClone)详解
2016/08/24 Javascript
js获取html页面代码中图片地址的实现代码
2018/03/05 Javascript
原生js实现拖拽功能基本思路详解
2018/04/18 Javascript
nodeJS服务器的创建和重新启动的实现方法
2018/05/12 NodeJs
jQuery点击页面其他部分隐藏下拉菜单功能
2018/11/27 jQuery
JS正则表达式封装与使用操作示例
2019/05/15 Javascript
一步步解析Python斗牛游戏的概率
2016/02/12 Python
Python基于jieba库进行简单分词及词云功能实现方法
2018/06/16 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
2018/09/14 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
Python项目跨域问题解决方案
2020/06/22 Python
CSS3教程(5):网页背景图片
2009/04/02 HTML / CSS
html5如何在Canvas中实现自定义路径动画示例
2017/09/18 HTML / CSS
Skyscanner波兰:廉价航班
2017/11/07 全球购物
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
大学毕业生自荐书怎么写?
2014/01/06 职场文书
出纳员岗位职责
2014/03/13 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
销售2014年度工作总结
2014/12/08 职场文书
2014年统战工作总结
2014/12/09 职场文书
小学中等生评语
2014/12/29 职场文书
委托书格式要求
2015/01/28 职场文书
初中团支书竞选稿
2015/11/21 职场文书
2016年大学生党员公开承诺书
2016/03/24 职场文书
承诺书应该怎么写?
2019/09/10 职场文书
浅谈Python数学建模之固定费用问题
2021/06/23 Python
CSS实现隐藏搜索框功能(动画正反向序列)
2021/07/21 HTML / CSS
苹果可能正在打击不进行更新的 App
2022/04/24 数码科技