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 相关文章推荐
JavaScript Cookie 直接浏览网站分网址
Dec 08 Javascript
js常用自定义公共函数汇总
Jan 15 Javascript
详解JavaScript中Date.UTC()方法的使用
Jun 12 Javascript
js图片轮播特效代码分享
Sep 07 Javascript
Jquery跨域获得Json的简单实例
May 18 Javascript
VUEJS实战之修复错误并且美化时间(2)
Jun 13 Javascript
JavaScript面向对象精要(上部)
Sep 12 Javascript
JavaScript实现左侧菜单效果
Dec 14 Javascript
JavaScript继承与多继承实例分析
May 26 Javascript
JavaScript实现邮箱后缀提示功能的示例代码
Dec 13 Javascript
React+Antd+Redux实现待办事件的方法
Mar 14 Javascript
原生js代码能实现call和bind吗
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编程中10个最常见的错误
2014/08/08 PHP
Zend Framework实现多文件上传功能实例
2016/03/21 PHP
PHP实现的简单分页类及用法示例
2016/05/06 PHP
php实现XML和数组的相互转化功能示例
2017/02/08 PHP
php操作access数据库的方法详解
2017/02/22 PHP
线路分流自动跳转代码;希望对大家有用!
2006/12/02 Javascript
csdn 批量接受好友邀请
2009/02/19 Javascript
使用jQuery内容过滤选择器选择元素实例讲解
2013/04/18 Javascript
jQuery获取注册信息并提示实现代码
2013/04/21 Javascript
jQuery根据纬度经度查看地图处理程序
2013/05/08 Javascript
div浮层,滚动条移动,位置保持不变的4种方法汇总
2013/12/11 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
Linux下使用jq友好的打印JSON技巧分享
2014/11/18 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
2016/08/24 Javascript
Angularjs实现搜索关键字高亮显示效果
2017/01/17 Javascript
解决webpack -p压缩打包react报语法错误的方法
2017/07/03 Javascript
javascript高级模块化require.js的具体使用方法
2017/10/31 Javascript
vue-cli+webpack项目 修改项目名称的方法
2018/02/28 Javascript
使用weixin-java-miniapp配置进行单个小程序的配置详解
2019/03/29 Javascript
微信小程序个人中心的列表控件实现代码
2020/04/26 Javascript
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
详解Python中contextlib上下文管理模块的用法
2016/06/28 Python
Python内存管理方式和垃圾回收算法解析
2017/11/11 Python
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
使用Python调取任意数字资产钱包余额功能
2019/08/15 Python
Django框架HttpResponse对象用法实例分析
2019/11/01 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
通过实例简单了解Python sys.argv[]使用方法
2020/08/04 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
2020/11/30 Python
CSS3中的元素过渡属性transition示例详解
2016/11/30 HTML / CSS
美国羽绒床上用品第一品牌:Pacific Coast
2018/08/25 全球购物
介绍一下木马病毒的种类
2015/07/26 面试题
管理信息系学生的自我评价
2014/01/11 职场文书
MySQL修炼之联结与集合浅析
2021/10/05 MySQL