vue里的渲染以及computed的好处
如果vue里的某个methods函数执行,导致页面重新渲染,那么所有页面渲染相关的methods函数会重新执行以及时的渲染页面
但是大量函数的重新没有必要的执行会导致性能的下降,
此时如果把没有必要再次执行的方法定义到computed里,那么这些没有必要执行的方法就不会被渲染页面时候执行。
只有在computed函数所依赖的数据变化时候才会被执行
并且将结果会存在缓存里,每次环境改变只会执行一次,不会像methods里的方法一样每次遇到都执行
<div id="app">
<div></div>
<p>{{num}}</p>
<p>{{showName}}</p>
<p>{{name}}</p>
<button v-on:click='add'>add</button>//点击此按钮,add在methods里,会导致页面被重新渲染,所有页面需要的函数都会重新执行一遍,但computed里的函数不会执行
<button v-on:click='changeName'>name</button>//点击此按钮,是否会导致页面重新渲染??是否会引起methods里函数执行 </div>
<script src="vue.js"></script>
<script>
var vm = new Vue({
el:"#app",
data:{
name:'aaa',
num:0
},
methods:{ add:function(){
this.num ++
},
changeName:function(){
this.name = this.name+'a'
}
},
computed:{
showName:function(){
alert('showName执行了')
return this.name
}, }, })
</script>
- computed比较适合对多个变量或者对象进行处理后返回一个结果值,也就是数多个变量中的某一个值发生了变化则我们监控的这个值也就会发生变化,举例:购物车里面的商品列表和总金额之间的关系,只要商品列表里面的商品数量发生变化,或减少或增多或删除商品,总金额都应该发生变化。这里的这个总金额使用computed属性来进行计算是最好的选择
vue里的渲染以及computed的好处的更多相关文章
- vue里的watch 和 computed 监听的不同
1.computed里是偏向于通过监听data里的值变化后,经过运算返回一个新的计算结果, 所以k不能与data里的k重名,并且必须有return, 能够缓存,依赖的值不变化不会进行重复计算: 而wa ...
- Egg + Vue 服务端渲染工程化实现
在实现 egg + vue 服务端渲染工程化实现之前,我们先来看看前面两篇关于Webpack构建和Egg的文章: 在 Webpack工程化解决方案easywebpack 文章中我们提到了基于 Vue ...
- vue + element 动态渲染、移除表单并添加验证
博客地址:https://ainyi.com/66 又接到新需求了吧~~ 背景 在一个大表单里,有可能会出现这种需求,用户可以自己操作动态添加.移除表单,更加个性化的效果. 常见于填写个人信息.附加内 ...
- vue服务端渲染添加缓存
缓存 虽然 Vue 的服务器端渲染(SSR)相当快速,但是由于创建组件实例和虚拟 DOM 节点的开销,无法与纯基于字符串拼接(pure string-based)的模板的性能相当.在 SSR 性能至关 ...
- 浅谈Vue中计算属性(computed)和方法(methods)的差别
浅谈Vue中计算属性(computed)和方法(methods)的差别 源码地址 methods方法和computed计算属性,两种方式的最终结果确实是完全相同 计算属性是基于它们的响应式依赖进行缓存 ...
- 了解vue里的Runtime Only和Runtime+Compiler
转自:了解vue里的Runtime Only和Runtime+Compiler 扩展文章:Vue 2.0如何仅使用Runtime-only Build构建项目? 可以看到有两种版本: Runtime ...
- vue服务端渲染axios预取数据
首先是要参考vue服务端渲染教程:https://ssr.vuejs.org/zh/data.html. 本文主要代码均参考教程得来.基本原理如下,拷贝的原文教程. 为了解决这个问题,获取的数据需要位 ...
- vue之v-text渲染多值
其原理,是利用vue里的computed计算属性来做. 请看代码: <div id='app'> <div v-text="newUsers"></d ...
- vue服务端渲染提取css
vue服务端渲染,提取css单独打包的好处就不说了,在这里主要说的是抽取css的方法 要从 *.vue 文件中提取 CSS,可以使用 vue-loader 的 extractCSS 选项(需要 vue ...
随机推荐
- 用GO开发企业级分布式云存储系统
一.基础架构 二.开发工具
- requirejs amd module load example
person.js /** * This example make use of requireJS to provide a clean and simple way to split JavaSc ...
- ZABBIX 4.0 LTS 部署
1. 环境说明 关于zabbix的详细使用可以参考之前的3.0 版本,该文档仅记录zabbix 4.0 编译安装过程!ZABBIX 3.0 从入门到精通(zabbix使用详解) : https://w ...
- java servlet 生命周期
Life Cycle in Detail:-1-When a server loads a servlet, it runs the servlet's init method. Even thoug ...
- Linux学习必备
17,继往开来 实践是检验真理的唯一标准! ---运维技术组----mvpbang #开源代码 https://github.com/ #目前最受欢迎的 https://gitee.com/ ...
- C# 简单POST请求 同时防止中文乱码的出现
实现POST网络请求方法 public static string HttpPost(string url,string postDataStr) { string strReturn; //在转换字 ...
- 在Python中定义和使用抽象类的方法
https://www.jb51.net/article/87710.htm 像java一样python也可以定义一个抽象类. 在讲抽象类之前,先说下抽象方法的实现. 抽象方法是基类中定义的方法,但却 ...
- fiddler抓包url有乱码
fiddler抓包url有乱码: 解决具体步骤: 注册表:regedit HKEY_CURRENT_USER\Software\Microsoft\Fiddler2 1.打开注册表,regedit ...
- Vue自用axios封装
[本文出自天外归云的博客园] 这是我的Vue项目中的request.js文件,请求报错了看console就会有具体请求信息,方便调试.分享一下. 其中用到了axios和element-ui的组件,ax ...
- 在tmux会话之间共享窗口(Windows & Panes)
去年写过一篇 从Tmux 转到GNU Screen,理由是我可以 在两个显示器上通过PuTTY连接到同一个GNU Screen会话,但两个显示器可以显示不同的窗口(用GNU Screen的术语来说,是 ...