vue里的渲染以及computed的好处

如果vue里的某个methods函数执行,导致页面重新渲染,那么所有的methods函数会重新执行以及时的渲染页面

但是大量函数的重新没有必要的执行会导致性能的下降,

此时如果把没有必要再次执行的方法定义到computed里,那么这些没有必要执行的方法就不会被渲染页面时候执行。

只有在computed函数所依赖的数据变化时候才会被执行

 1  <div id="app">
 2      <div></div>
 3      <p>{{num}}</p>
 4      <p>{{showName}}</p>
 5      <p>{{name}}</p>
 6      <button v-on:click=‘add‘>add</button>//点击此按钮,add在methods里,会导致页面被重新渲染,所有页面需要的函数都会重新执行一遍,但computed里的函数不会执行
 7      <button v-on:click=‘changeName‘>name</button>//点击此按钮,是否会导致页面重新渲染??是否会引起methods里函数执行
 8
 9     </div>
10     <script src="vue.js"></script>
11     <script>
12         var vm = new Vue({
13             el:"#app",
14            data:{
15                name:‘aaa‘,
16                num:0
17            },
18            methods:{
19
20                add:function(){
21                    this.num ++
22                },
23                changeName:function(){
24                    this.name = this.name+‘a‘
25                }
26            },
27            computed:{
28             showName:function(){
29                    alert(‘showName执行了‘)
30                    return this.name
31                },
32
33            },
34
35         })
36     </script>
  • computed比较适合对多个变量或者对象进行处理后返回一个结果值,也就是数多个变量中的某一个值发生了变化则我们监控的这个值也就会发生变化,举例:购物车里面的商品列表和总金额之间的关系,只要商品列表里面的商品数量发生变化,或减少或增多或删除商品,总金额都应该发生变化。这里的这个总金额使用computed属性来进行计算是最好的选择

原文地址:https://www.cnblogs.com/dangdanghepingping/p/10160975.html

时间: 2024-11-07 11:13:54

vue里的渲染以及computed的好处的相关文章

vue服务端渲染添加缓存的方法

什么是服务器端渲染(SSR)? Vue.js 是构建客户端应用程序的框架.默认情况下,可以在浏览器中输出 Vue 组件,进行生成 DOM 和操作 DOM.然而,也可以将同一个组件渲染为服务器端的 HTML 字符串,将它们直接发送到浏览器,最后将这些静态标记"激活"为客户端上完全可交互的应用程序. 服务器渲染的 Vue.js 应用程序也可以被认为是"同构"或"通用",因为应用程序的大部分代码都可以在服务器和客户端上运行. 缓存 虽然 Vue 的服务

vue + element 动态渲染、移除表单并添加验证

博客地址:https://ainyi.com/#/66 又接到新需求了吧~~ 背景 在一个大表单里,有可能会出现这种需求,用户可以自己操作动态添加.移除表单,更加个性化的效果. 常见于填写个人信息.附加内容的表单 例如: "工作经历"可以用户自己点击继续添加按钮,在原有的表单后面 append 多一个表单,不需要就点击右上方 X 按钮移除 问题 在实现之前,提出几个问题 vue 怎么动态渲染或移除表单上去 v-model 怎么绑定动态添加表单的 value 值 动态新增的表单如何验证

vue服务端渲染提取css

vue服务端渲染,提取css单独打包的好处就不说了,在这里主要说的是抽取css的方法 要从 *.vue 文件中提取 CSS,可以使用 vue-loader 的 extractCSS 选项(需要 vue-loader12.0.0+) // webpack.config.js const ExtractTextPlugin = require('extract-text-webpack-plugin') // CSS 提取应该只用于生产环境 // 这样我们在开发过程中仍然可以热重载 const is

vue里操作DOM

一般来说你要在vue里操作DOM,要先在标签里加上ref="",如下: <h2 ref="s" @click="sss">Essential Links</h2> 然后在点击的事件sss写下你想要的效果代码:(注意的是上面的ref的s,要写在下面this.$refs,不要忘了) methods: { sss() { this.$refs.s.style.color = "blue"; } } 如果你想要

vue里的数据

背景: 一个项目完工在即,鉴于此,前端使用了vue,写下此栏,以供日后翻阅, 会涉及到我所运用到的vue相关知识,需要一定的js基础. 默认vue的single-file-components(单文件组件开发)既sfc. 本文主题 vue里数据的处理 存放数据 我们先看vue里哪里能存放数据: 1.单个vue文件里.2.官方插件vuex,作为一个集中管理经常复用的数据很有用.3.直接声明在vue实例上,用$号标识. 第一种情况下存放数据对于单个文件又分这几种属性1.1 data(常规使用,默认函

怎样理解 Vue 中的计算属性 computed 和 methods ?

需求: 在 Vue 中, 我们可以像下面这样通过在 引号 或 双花括号 内写 js 表达式去做一些简单运算, 这是可以的, 不过这样写是不直观的, 而且在 html 中 夹杂 一些运算逻辑这种做法其实并不好. 最理想的情况是: html 只负责展示, 绑定的数据都是 赤裸裸 的 变量, 而非 表达式 , 这样就会比较人性化. 想要达到这种效果可以有两种方法: computed 和 methods. 1. 使用 methods 相当于是为这个 字符串倒序 的功能单独写了一个函数, 这个函数在 Vu

小程序里实现 watch 和 computed

小程序里的自定义组件里是有数据监听器的,可以监听对应数据的变化来执行callBack,但是页面Page里没有对应的api就显的很生硬,比如某个数据变了(如切换城市)需要重新刷页面,如果不做监听,每次都要在数据变化的地方手动去调一次函数. 那么如何像vue那样在Page里实现 watch 和 computed 呢 ?如果这时候你脑子里能想到 Obejct.defineProperty 或者 Proxy 那么接下来就慢慢实现吧. 先晒出是这样调用的,请牢记这个调用,后面会反复提到 test2 tes

vue的服务器端渲染

0. 服务端渲染简介 服务端渲染不是一个新的技术:在 Web 最初的时候,页面就是通过服务端渲染来返回的,用 PHP 来说,通常是使用 Smarty 等模板写模板文件,然后 PHP 服务端框架将数据和模板渲染为页面返回,这样的服务端渲染有个缺点就是一旦要查看新的页面,就需要请求服务端,刷新页面. 但如今的前端,为了追求一些体验上的优化,通常整个渲染在浏览器端使用 JS 来完成,配合 history.pushState 等方式来做单页应用(SPA: Single-Page Application)

vue里面的get、post和jsonp

使用vue里面的get可以获取文件数据,当获取文件数据的使用的用法是 使用get获取php文件执行结果时就是在前面的案例的get方法中传入php文件,然后设置和php相对应的数据,如下 js代码 php代码 需要注意的是,php文件中,方括号里面的名称才是与js里面的名称一致,如图所示 post使用方法与get基本相似,就是在此基础上添加一个数据:emulateJSON: true 演示结果如下图所示 post方法的php代码 需要注意的是,粗看之下,连个php文件差异不大,但是php文件里面分