博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue计算属性和监听属性
阅读量:6841 次
发布时间:2019-06-26

本文共 1207 字,大约阅读时间需要 4 分钟。

一、计算属性

  计算属性关键词: computed。计算属性在处理一些复杂逻辑时是很有用的。

  可以看下以下反转字符串的例子:

{
{ message.split('').reverse().join('') }}
//模板变的很复杂起来,也不容易看懂理解

  使用了计算属性的实例:

原始字符串: {

{ message }}

计算后反转字符串: {

{ reversedMessage }}

  实例中声明了一个计算属性 reversedMessage 。提供的函数将用作属性 vm.reversedMessage 的 getter 。vm.reversedMessage 依赖于 vm.message,在 vm.message 发生改变时,vm.reversedMessage 也会更新。

1、computed vs methods

  我们可以使用 methods 来替代 computed,效果上两个都是一样的,但是 computed 是基于它的依赖缓存,只有相关依赖发生改变时才会重新取值。而使用 methods ,在重新渲染的时候,函数总会重新调用执行。

methods: {  reversedMessage2: function () {    return this.message.split('').reverse().join('')  }}{
{reversedMessage2()}}

  可以说使用 computed 性能会更好,但是如果你不希望缓存,你可以使用 methods 属性。

  此外,computed 对象内的方法如果在初始化时绑定到元素上的事件会先执行一次这个方法 ,而 methods 内的方法则不会。

2、computed setter

  computed 属性默认只有 getter ,不过在需要时你也可以提供一个 setter :

{

{ site }}

  结果显示的就不是默认的name和url值,而不是 vm.site 的 setter 的值。

  setter 会被调用, vm.name 和 vm.url 也会被对应更新。

二、监听属性

  监听属性 watch,我们可以通过 watch 来响应数据的变化。

千米 :
米 :

  以上代码中我们创建了两个输入框,data 属性中, kilometers 和 meters 初始值都为 0。

  watch 对象创建了两个方法 kilometers 和 meters。

  当我们再输入框输入数据时,watch 会实时监听数据变化并改变自身的值。

 

转载地址:http://nbzul.baihongyu.com/

你可能感兴趣的文章
[Python]学习基础篇:字符串的处理
查看>>
CentOS用户及用户组管理
查看>>
yum安装mysql 5.6
查看>>
ubuntu、Centos、win2003开启snmp服务
查看>>
centos查看格式化的系统时间
查看>>
科技赋能特殊群体教育 让爱心更有力量
查看>>
big endian与little endian
查看>>
Listener监听器与web.xml相关配置
查看>>
单机服务器已经安装好二进制mysql5.6.20,然后开启mysql多实例
查看>>
greenplum分布式集群(数据仓库)实战
查看>>
CentOS-6.x下搭建golang环境
查看>>
Sys和system用户、sysdba 和sysoper系统权限、dba角色
查看>>
SCCM 2012 SP1系列(十六)资产管理和远程管理
查看>>
项目案例分享二:密码策略与上次交互式登录
查看>>
logz.io一个企业级的ELK日志分析器 内部集成了机器学习识别威胁——核心:利用用户对于特定日志事件的反馈处理动作来学习判断日志威胁 + 类似语音识别的专家系统从各方收集日志威胁信息...
查看>>
详解DNS的常用记录(上):DNS系列之二
查看>>
[零基础学JAVA]Java SE面向对象部分-21.包及访问权限
查看>>
ELK Stack之Shield介绍
查看>>
有效参与会议的十种方法
查看>>
利用Python搜索51CTO推荐博客并保存至Excel
查看>>