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 前的按键判断代码
Mar 19 Javascript
JS判断不同分辨率调用不同的CSS样式文件实现思路及测试代码
Jan 23 Javascript
javascript制作的cookie封装及使用指南
Jan 02 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记9)
Dec 24 Javascript
基于jquery实现的仿优酷图片轮播特效代码
Jan 13 Javascript
jQuery判断浏览器并动态调整select宽度的方法
Mar 02 Javascript
浅析JavaScript回调函数应用
May 22 Javascript
bootstrap IE8 兼容性处理
Mar 22 Javascript
详解webpack2+React 实例demo
Sep 11 Javascript
高性能的javascript之加载顺序与执行原理篇
Jan 14 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
Jan 23 Javascript
js之ajax文件上传
May 13 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/05/13 PHP
Centos下升级php5.2到php5.4全记录(编译安装)
2015/04/03 PHP
PHP导出Excel实例讲解
2016/01/24 PHP
Symfony2实现从数据库获取数据的方法小结
2016/03/18 PHP
php遍历、读取文件夹中图片并分页显示图片的方法
2016/11/15 PHP
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
禁止JQuery中的load方法装载IE缓存中文件的方法
2009/09/11 Javascript
node.js中的fs.rmdir方法使用说明
2014/12/16 Javascript
jquery实现选中单选按钮下拉伸缩效果
2015/08/06 Javascript
Angular Js文件上传之form-data
2015/08/28 Javascript
纯JS实现可拖拽表单的简单实例
2016/09/02 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
2017/03/09 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
原生JS实现ajax与ajax的跨域请求实例
2017/12/01 Javascript
总结js中的一些兼容性易错的问题
2017/12/18 Javascript
NodeJs搭建本地服务器之使用手机访问的实例讲解
2018/05/12 NodeJs
Vue filter格式化时间戳时间成标准日期格式的方法
2018/09/16 Javascript
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
js实现窗口全屏示例详解
2019/09/17 Javascript
关于layui导航栏不展示下拉列表的解决方法
2019/09/25 Javascript
Vue项目打包压缩的实现(让页面更快响应)
2020/03/10 Javascript
分享一个常用的Python模拟登陆类
2015/03/29 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
python中urlparse模块介绍与使用示例
2017/11/19 Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
2019/08/26 Python
Python实现计算图像RGB均值方式
2020/06/04 Python
celery在python爬虫中定时操作实例讲解
2020/11/27 Python
床上用品全球在线购物:BeddingInn
2016/12/18 全球购物
美国运动鞋类和服装零售连锁店:Shoe Palace
2019/08/13 全球购物
南京某软件公司的.net面试题
2015/11/30 面试题
开业典礼主持词
2014/03/21 职场文书
民警个人对照检查剖析材料
2014/09/17 职场文书
学习走群众路线心得体会
2014/11/05 职场文书
公司禁烟通知
2015/04/23 职场文书
2015年第十五个全民国防教育日宣传活动方案
2015/05/06 职场文书
3招让你摆脱即兴讲话冷场尴尬
2019/08/08 职场文书