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 相关文章推荐
js indexOf()定义和用法
Oct 21 Javascript
图标线性回归斜着移动到指定的位置
Aug 16 Javascript
js购物车实现思路及代码(个人感觉不错)
Dec 23 Javascript
JS中实现简单Formatter函数示例代码
Aug 19 Javascript
Google Maps API地图应用示例分享
Oct 23 Javascript
jQuery+css实现炫目的动态块漂移效果
Jan 28 Javascript
教你用javascript实现随机标签云效果_附代码
Mar 16 Javascript
利用angular.copy取消变量的双向绑定与解析
Nov 25 Javascript
laravel5.4+vue+element简单搭建的示例代码
Aug 29 Javascript
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
Aug 03 Javascript
浅谈vue中get请求解决传输数据是数组格式的问题
Aug 03 Javascript
JavaScript通如何过RGraph实现动态仪表盘
Oct 15 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 魔术函数使用说明
2010/02/21 PHP
6种php上传图片重命名的方法实例
2013/11/04 PHP
PHP文件锁函数flock()详细介绍
2014/11/18 PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
2016/01/09 PHP
Add a Picture to a Microsoft Word Document
2007/06/15 Javascript
由document.body和document.documentElement想到的
2009/04/13 Javascript
JS中confirm,alert,prompt函数使用区别分析
2010/04/01 Javascript
用JavaScript对JSON进行模式匹配 (Part 2 - 实现)
2010/07/17 Javascript
jQuery之$(document).ready()使用介绍
2012/04/05 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
js 中获取制定的cook信息实现方法
2016/11/19 Javascript
nodeJS删除文件方法示例
2016/12/25 NodeJs
js实现密码强度检验
2017/01/15 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容
2017/06/12 Javascript
Vue全局分页组件的实现代码
2018/08/10 Javascript
解决vue-quill-editor上传内容由于图片是base64的导致字符太长的问题
2018/08/20 Javascript
angular 表单验证器验证的同时限制输入的实现
2019/04/11 Javascript
layui 数据表格复选框实现单选功能的例子
2019/09/19 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
JavaScript实现简单动态表格
2020/12/02 Javascript
python编程开发之类型转换convert实例分析
2015/11/13 Python
Python字符串拼接六种方法介绍
2017/12/18 Python
浅谈pandas中DataFrame关于显示值省略的解决方法
2018/04/08 Python
利用django-suit模板添加自定义的菜单、页面及设置访问权限
2018/07/13 Python
python使用pymongo与MongoDB基本交互操作示例
2020/04/09 Python
匡威俄罗斯官网:Converse俄罗斯
2020/05/09 全球购物
通信研究生自荐信
2014/02/01 职场文书
工作决心书范文
2014/03/11 职场文书
新闻专业毕业生求职信
2014/08/08 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
Jupyter notebook 输出部分显示不全的解决方案
2021/04/24 Python
一些让Python代码简洁的实用技巧总结
2021/08/23 Python