1、计算属性
  再vue中如果出现表达式过长或者逻辑比较复杂,这时会导致代码不清晰,臃肿,难以维护所以我们会使用计算属性进行书写
  再计算属性中可以放负责的逻辑,可以是函数,表达式等,但最终会返回一个结果,再使用计算属性的时候只要数据变化,计算属性就会重新执行,

  视图也就跟着重新发生变化
  每一个计算属性都是用的是函数进行表示的,最终返回的是一个值
2、实现计算属性的方法
  所有的计算属性都是以函数的形式写在vue实例中的computed内,最终返回的是计算之后的结果
  对于计算属性来说,因为它本身返回的就是一个结果,一个值,所以很多情况下,直接作为内容输出到DOM即可,会自动的进行执行
  因为计算属性最终返回的是一个值,所以很多情况下我们都是需要加上return的

3、computed是计算属性:在使用的时候返回的是一个值,都是作为函数来写的,在调用的时候直接写名字即可
  methods是方法:在使用的时候本身就是一个函数,所以返回的也是函数,在调用的时候按照正常函数调用的方式进行调用才行
4、为什么在用methods的时候会自动更新:
  因为在使用methods的时候,数据发生变化,组件就会重新更新,重新渲染,特点就是只要重新渲染了,那么methods中的函数就会被全部重新执行
5、使用computed不会自动刷新:
  因为在使用computed的时候它是会产生缓存的,只有当数据改变的时候,才会重新计算,但是其他的计算属性是不会被执行的

所以在使用的时候计算属性要比methods方法更加的节省性能
  如果是负责逻辑的话使用计算属性,执行的时候会直接从缓存中执行

<template>
<div id="app">
<p>{{reveiveMsg}}</p>
<p>{{clickA()}}</p>
<button @click="a++">按钮methods_a++</button>
<button @click="b++">按钮methods_b++</button>
<p>a:{{a}}</p>
<p>b:{{b}}</p>
<p> sum+a={{addA}}</p>
<p> sum+a={{addB}}</p>
</div>
</template> <script>
export default {
name: 'App',
data () {
return {
msg: '好好学习天天向上a' ,
isture: false,
isElseTrue:true,
a: 0,
b: 0,
sum: 20
}
},
methods: { //Imethod中写的是对事件处理的处理函数
clickA: function () {
return this.msg
},
addA: function () {
console.log("执行AA")
return this.a + this.sum
},
addB: function () {
console.log("执行BB")
return this.b + this.sum
}
},
computed: {
reveiveMsg: function () {
return this.msg
},
addA: function () {
console.log("执行AA")
return this.a + this.sum
},
addB: function () {
console.log("执行BB")
return this.b + this.sum
}
}
} </script> <style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
.test{
color:skyblue;
}
</style>

3.vue计算属性的更多相关文章

  1. Vue计算属性

    github地址:https://github.com/lily1010/vue_learn/tree/master/lesson06 一 计算属性定位 当一些数据需要根据其它数据变化时,这时候就需要 ...

  2. 在做vue计算属性,v-for处理数组时遇到的一个bug

    bug: You may have an infinite update loop in a component render function 无限循环 需要处理的数组(在 ** ssq **里): ...

  3. vue教程2-03 vue计算属性的使用 computed

    vue教程2-03 vue计算属性的使用 computed computed:{ b:function(){ //默认调用get return 值 } } ---------------------- ...

  4. vue 计算属性 实例选项 生命周期

    vue 计算属性: computed:{} 写在new vue()的属性,只要参与运算,数据不发生变化时,次计算只会执行一次,结果缓存,之后的计算会直接从缓存里去结果.如果其中的值发生变化(不管几个) ...

  5. Vue计算属性缓存(computed) vs 方法

    Vue计算属性缓存(computed) vs 方法 实例 <div id="example"> <p>Original message: "{{ ...

  6. vue 计算属性实现过滤关键词

    效果 html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <m ...

  7. Vue 计算属性 && 监视属性

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...

  8. 第三节:Vue计算属性

    计算属性就是当其依赖的属性的值发生变化的时候,这个属性的值就会自动更新. 例子: <!DOCTYPE html> <html> <head> <meta ch ...

  9. Vue#计算属性

    在模板中表达式非常便利,但是它们实际上只用于简单的操作.模板是为了描述视图的结构.在模板中放入太多的逻辑会让模板过重且难以维护.这就是为什么 Vue.js 将绑定表达式限制为一个表达式.如果需要多于一 ...

  10. 初识Vue——计算属性和观察者

    一.计算属性 在模板内使用 1.基础例子 <template> <div class="main"> <div id="reverse_st ...

随机推荐

  1. python之Python VS Code下载和安装教程

    Visual Studio Code,简称 VS Code,是由微软公司开发的 IDE 工具.与微软其他 IDE(如 Visual Studio)不同的是,Visual Studio Code 是跨平 ...

  2. [转载] Objectiv-C 入门一二三

    http://my.oschina.net/fuckphp/blog/92993 http://my.oschina.net/fuckphp/blog/93217 http://my.oschina. ...

  3. Vue刷新页面的三种方式

    我们在写项目的时候,经常会遇到,用户执行完某个动作,改变了某些状态,需要重新刷新页面,以此来重新渲染页面 1.原始方法: location.reload(); 2.vue自带的路由跳转: this.$ ...

  4. 【MySQL】MySQL5.7等以上版本在Windows上的配置

    由于本人是win10系统,所以说下win10系统以管理员身份打开cmd 1. 配置环境变量 我这边是安装在了C:\Program Files\MySQL\MySQL Server 5.7在path中加 ...

  5. shiro的使用详解~

    在家无聊复习一下shiro 打开了之前的项目,由于lombok插件安装不了,不知道idea抽什么风所以get,set方法报错了,将就一下 只看shiro的使用,配置在shiro分类中有 登录方法 pa ...

  6. 剑指Offer之裴波那契数列

    题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1). n<=39 解法1:递归解法 public int Fibonacc ...

  7. shell日期格式化、加减运算

    #!/bin/bash echo i love you输出:i love you =======================================反引号的作用============== ...

  8. 分布式项目开发-spring-dao.xml基础配置

    基础步骤: 1 数据源 2 sqlSessionFactory 3 MapperScan 打包. db.properties文件 db.username=root db.password=123456 ...

  9. Rocket - devices - TLBusBypass

    https://mp.weixin.qq.com/s/WviVHxlZvsNm8mea2VpfTw 简单介绍TLBusBypass的实现. 1. TLBypassNode TLBypassNode定义 ...

  10. (Java实现) 装载问题

    2.装载问题 [问题描述] 有一批共n个集装箱要装上艘载重量为c的轮船,其中集装箱i的重量为wi.找出一种最优装载方案,将轮船尽可能装满,即在装载体积不受限制的情况下,将尽可能重的集装箱装上轮船. [ ...