vue实例属性之methods和computed

时间:2021-10-19 08:31:34

我们可以把同一函数放在methods或者computed中,区别在于computed有缓存,计算属性只有在它的相关依赖发生改变时才会重新求值,即数据改变才会执行函数。而methods每当触发重新渲染时,就会再次执行函数。

一、methods用法

<div id="J_app">
<p>{{ info }}</p>
<button v-on:click="reverseText">逆转消息</button>
<button @click="reverseText">v-on缩写,逆转消息</button>
</div>
var vapp = new Vue({
el: '#J_app',
data: {
info: 'Hello Vue.js!'
},
methods: {
reverseText: function () {
this.info = this.info.split('').reverse().join('')
}
}
})

二、computed用法

1、默认用法

<div id="J_app">
<p>{{ info }}</p>
<p>{{ reverseText }}</p>
</div>
var vapp = new Vue({
el: '#J_app',
data: {
info: 'Hello Vue.js!'
},
computed: {
reverseText: function () {
return this.info.split('').reverse().join('')
}
}
})

2、自定义set
computed默认只有get,可以自定义一个set。

<div id="J_app">
<p>{{ info }}</p>
<p>{{ reverseText }}</p>
</div>
var vapp = new Vue({
el: '#J_app',
data: {
info: 'Hello Vue.js!'
},
computed: {
reverseText: {
get:function () {
return this.info.split('').reverse().join('')
},
set:function () {
this.info = this.info.split('').reverse().join('') +'设置后'
}
}
}
})
vapp.reverseText ="learn vue from today";

vue实例属性之methods和computed的更多相关文章

  1. Vue学习笔记:methods、computed、watch的区别

    自:https://www.jb51.net/article/120073.htm 首先要说,methods,watch和computed都是以函数为基础的,但各自却都不同 而从作用机制和性质上看,m ...

  2. vue实例属性(vm&period;&dollar;els)

    不需要表达式 参数: id(必需) 用法: 为 DOM 元素注册一个索引,方便通过所属实例的 $els 访问这个元素. 注意: 因为 HTML 不区分大小写,camelCase 名字比如 v-el:s ...

  3. Vue实例属性&sol;方法&sol;生命周期

    一 实例属性 var app = new Vue(); app.$el ===>返回当前挂在DOM对象. app.$data ===>返回当前实例data里面的数据 app.$option ...

  4. vue实例属性之el,template,render

    一.el,template,render属性优先性当Vue选项对象中有render渲染函数时,Vue构造函数将直接使用渲染函数渲染DOM树,当选项对象中没有render渲染函数时,Vue构造函数首先通 ...

  5. vue实例属性之el,template,render--&lpar;转载&rpar;

    转载链接:https://www.cnblogs.com/camille666/p/vue_instance_prop_el_template_render.html 一.el,template,re ...

  6. es6下 vue实例属性template不能使用

    esm模式下 不能使用template,需要引入非esm的vue.js,查看vue源码的包的dist目录下 文件标有esm是支持ems,没有标记,就是不支持(这个知识,怎么说了,应该属于webpack ...

  7. vue实例属性的方法

    1.$mount()   手动设置挂载点  eg:vm.$mount("#app") 2.$destroy()  销毁   eg:vm.$destroy(); 3.$forceUp ...

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

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

  9. Vue基础进阶 之 常用的实例属性

    Vue实例属性: vue实例直接调用的属性: 常用的实例属性: vm.$data:获取属性: vm.$el:获取实例挂载的元素: vm.$options:获取自定义选项/属性: vm.$refs:获取 ...

随机推荐

  1. Android中使用GridView和ImageViewSwitcher实现电子相册简单功能

    我们在手机上查看相册时,首先看到的是网格状的图片展示界面,然后我们选择想要欣赏的照片点击进入,这样就可以全屏观看该照片,并且可以通过左右滑动来切换照片.如下图的显示效果: 首先我们先罗列一下本次实现所 ...

  2. GJM : 游戏程序员的学习之路

    原文作者:miloyip  原帖地址:http://gad.qq.com/article/detail/7180681 原帖备注:版权所有,禁止匿名转载:禁止商业使用:禁止个人使用. 腾讯前端技术总监 ...

  3. Mac OSX Java 编译时乱码问题

    由于是新系统,之前没有配置过导致今天javac编译的时候发现再iterm和Terminal中显示的是乱码,后来在网上找到解决方法,现在共享一下: 方法一: 在iterm2/Terminal中输入: c ...

  4. TCP&sol;IP协议学习&lpar;二&rpar; LWIP用户自定义配置文件解析

    LWIP协议支持用户配置,可以通过用户裁剪实现最优化配置,LWIP默认包含opts.h作为系统默认配置,不过通过添加lwipopts.h文件并包含在opts.h头文件之前就可以对lwip进行用户裁剪, ...

  5. SPOJ NSUBSTR Substrings 后缀自动机

    人生第一道后缀自动机,总是值得纪念的嘛.. 后缀自动机学了很久很久,先是看CJL的论文,看懂了很多概念,关于right集,关于pre,关于自动机的术语,关于为什么它是线性的结点,线性的连边.许多铺垫的 ...

  6. &sol;dev&sol;null 文件

    /dev/null 文件 如果希望执行某个命令,但又不希望在屏幕上显示输出结果,那么可以将输出重定向到 /dev/null: $ command > /dev/null /dev/null 是一 ...

  7. rub、sass和compass的安装

    长话短说,直接进入正题. [ruby安装] ruby下载网址:http://rubyinstaller.org/downloads/ 选择适合自己电脑的版本: 下载完成后直接双击安装,记得勾选加入环境 ...

  8. 最新版SDWebImage的使用

    我之前写过一篇博客,介绍缓存处理的三种方式,其中最难,最麻烦,最占内存资源的还是图片缓存,最近做的项目有大量的图片处理,还是采用了SDWebImage来处理,但是发现之前封装好的代码报错了.研究发现, ...

  9. SQL Server 2008中文企业版下载地址和序列号&lbrack;转&rsqb;

    SQLSERVER2008下载链接http://sqlserver.dlservice.microsoft.com/dl/download/B/8/0/B808AF59-7619-4A71-A447- ...

  10. Sql Server实现多行数据按分组用逗号分隔成一行数据

    例如,要将下面的数据 以GROUP_ID进行分组,一组一行,一组中的多个PRODUCT_ID用逗号分隔,select 出来成如下结果: 在Sql Server中,我目前想到的一种方法是写一个函数,如下 ...