Vue语法学习第三课——计算属性

模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护。对于任何复杂逻辑,都应当使用计算属性。

<div id="example"><p>original message : "{{message}}"</p><p>computed reversed message : "{{reverseMessage}}"</p></div><script>var vm = new Vue({el:"#example",data:{message : "zxq"},computed : {reverseMessage : function(){return this.message.split('').reverse().join('');}}});</script>

 同样的效果也可以通过在表达式中调用methods实现。

注:计算属性是基于他们的依赖进行缓存的,只有在相关依赖发生改变时,计算属性才会重新求值。

如上示例,只有当message改变时,多次访问 reverseMessage 计算属性才会再次执行函数,否则会返回之前的结果。

而对比methods,总是会再次执行函数。

 

computed 和 watch

<div id="app0">firstname : <input type="text" v-model="firstName"/><br/>lastname  : <input type="text" v-model="lastName"/><p>my name is : {{fullName}}</p>
</div>

 

① watch

    var vm = new Vue({el: '#app0',data: {firstName: 'Foo',lastName: 'Bar',fullName: 'Foo Bar'},watch: {firstName: function (val) {this.fullName = val + ' ' + this.lastName},lastName: function (val) {this.fullName = this.firstName + ' ' + val}}})

 

 

② computed

     var vm = new Vue({el: '#app0',data: {firstName: 'Foo',lastName: 'Bar'},computed: {fullName: function () {return this.firstName + ' ' + this.lastName}}})

 

相比之下,计算属性更为简洁

 

计算属性默认只有get方法,但在必要时也可以提供一个set方法

  <div id="example">firstname     :     <input type="text" v-model="firstName"/><br/>lastname      :     <input type="text" v-model="lastName"/><br/>my name is   :     <input v-model="fullName" /></div><script>var vm = new Vue({el:"#example",data: {firstName: 'zhu',lastName: 'xingqing'},computed : {fullName : {get : function(){return this.firstName + ' ' + this.lastName},set : function(newVal){newfull = newVal.split(' ');this.firstName = newfull[0];this.lastName = newfull[1];}}}});</script>

 

转载于:https://www.cnblogs.com/zhuxingqing/p/10502052.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248383.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云计算学习资料分享:type查看命令

type 查看命令类型&#xff0c;例如该命令是alias&#xff0c;还是内置命令&#xff0c;还是某个文件&#xff0c;还是关键字 哪种神仙&#xff1a;天上还是地上&#xff0c;还是水里游的 [roottianyun ~]# type ll ll is aliased to ls -l --colorauto [roottianyun ~]# type …

neo4j删除所有节点

MATCH (n)OPTIONAL MATCH (n)-[r]-()DELETE n,r转载于:https://www.cnblogs.com/luoganttcc/p/10525189.html

Hadoop RPC实例

本文发表于本人博客。 上次写了个hadoop伪分布环境搭建的笔记了&#xff0c;今天来说下hadoop分布式构建的基础RPC&#xff0c;这个RPC在提交Job任务的时候底层就是创建了RPC来实现远程过程调用服务端。 我们首先可以通过Job的waitForCompletion(boolean verbose)方法来跟踪代码…

Django 模板语言 标签

前言&#xff1a;django的模板语法基本和flask的jinja2基本一样。下面比较一下两个模板语法的区别。 &#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;深度变量的查找&#xff08;万能的句点号&#xff09; 在 Django 模板中遍历复杂数据结构的关键是…

电子书下载:Illustrated C# 2012 4th

下载&#xff1a;http://www.ctdisk.com/file/9015906转载于:https://www.cnblogs.com/MaxWoods/archive/2012/08/26/2657752.html

关于83版射雕英雄传

今天无意中看到网上一群人关于83版射雕的一些争论.或许一些现在的年轻人不喜欢83版射雕,说那太老土了,但想想那个时代的条件,能拍出这样的片子,是非常不错的,而且我觉得83版射雕也是最忠于原著的,跟后来的翻版比较,虽然从画面效果,人物服装方面存在差距,但这都是由于历史原因和…

ZOJ 3735 Josephina and RPG

思路&#xff1a;dp[i][j]:第i轮打完后&#xff0c;决定以j阵容打下一轮 保持原有阵容&#xff1a;dp[ i ][ j ] dp[ i - 1 ][ j ] * p [ j ][ s [ i ] ] 换成第i轮怪的阵容: for(int k0;k<r;k)dp[i][j]max(dp[i][j],dp[i-1][k]*p[k][s[i]]) 优化&#xff1a;用滚动数组&am…

4~20mA电流输出芯片XTR111完整电路(转)

源&#xff1a; 4~20mA电流输出芯片XTR111完整电路转载于:https://www.cnblogs.com/LittleTiger/p/10511115.html

电子书下载:Programming Microsoft LINQ in Microsoft .NET Framework 4

Book DescriptionDig into LINQ — and transform the way you work with data. With LINQ, you can query data from a variety of sources — including databases, objects, and XML files — directly from Microsoft Visual Basic or C#. Guided by data-access experts w…

原型模式 —— Java的赋值、浅克隆和深度克隆的区别

赋值 直接 &#xff0c;克隆 clone 假如说你想复制一个简单变量。很简单&#xff1a; int a 5; int b a; b 6;这样 a 5, b 6 不仅仅是int类型&#xff0c;其它七种原始数据类型(boolean,char,byte,short,float,double.long)同样适用于该类情况。 但是如果你复制的是一个…

一个医院院长电视机坏了,拿到一个大修理店去修

一个医院院长电视机坏了&#xff0c;拿到一个大修理店去修。修理店接待人员:“OK&#xff0c;开机费50元”医院院长: “为什么还没修理就要先交费”&#xff1f;修理店接待人员: “我们修理店的制度就是这样&#xff0c;你们医院的挂号费&#xff0c;不是没看病之前就要交吗”&…

[scrum]2011/9/24-----第四天

scrum 总结&#xff1a; Team member Yesterday’s Work Today’s Work Issue R X Task201&#xff1a;Active Agenda Page的重写&#xff0c;界面设置 Task201&#xff1a;Active Agenda Page 界面的美化&#xff0c;收缩折叠&#xff0c;并添加一些动画效果 Task 243:…

c# 前后日期设置

List<string> list new List<string>(); //根据当月 显示前6个月 for(int i0;i<6;i) { list.add(DateTime.Now.AddMonths(i*-1).Tostring()); }转载于:https://www.cnblogs.com/Dcz1996/p/10515429.html

jq-AJAX 初步了解

js的异步操作(1) 定时器 (2) 事件 (3) 回调 (4) ajax Ajax优点 可以局部更新网页内容。 ajax的本质就是xmlHttpRequest对象控制台出现三个属性 readyState 请求的五个阶段 0 1 2 3 4 responseText 返回的文件内容 Status 状态吗 返回的状态信息 在__proto__有三个方法 …

ARM学习笔记7——乘法指令

ARM乘法指令完成两个数据的乘法&#xff0c;两个32位二进制数相乘的结果是64位的4积。 其中&#xff1a; 1、“RadHi:RdLo”是由RdHi(最高有效32位)和RdLo(最低有效32位)链接形成的64位数&#xff0c;“[31:0]”只选取结果的最低有效32位 2、简单的赋值由“&#xff1a;”表示…

《剑指offer》第四十三题(从1到n整数中1出现的次数)

// 面试题43&#xff1a;从1到n整数中1出现的次数 // 题目&#xff1a;输入一个整数n&#xff0c;求从1到n这n个整数的十进制表示中1出现的次数。例如 // 输入12&#xff0c;从1到12这些整数中包含1 的数字有1&#xff0c;10&#xff0c;11和12&#xff0c;1一共出现了5次。#in…

回调函数

又称callback函数。意思是指&#xff1a;在你的程序中&#xff0c;被windows系统调用的函数。 这些函数虽然由你设计&#xff0c;但是永远不会也不该被你调用&#xff0c;它们是为windows系统准备的。 窗口函数设计为callback形式&#xff0c;才能开放出一个接口给操作系统调用…

固态硬盘Ghost安装Windows 10无法引导的问题

机器配置如下&#xff1a; 电脑型号 技嘉 B360M POWER 台式电脑操作系统 Windows 10 64位 ( DirectX 12 )处理器 英特尔 Core i7-8700 3.20GHz 六核主板 技嘉 B360M POWER ( 英特尔 PCI 标准主机 CPU 桥 - CannonLake - A3…

Linux shell 内部命令与外部命令有什么区别以及怎么辨别

内部命令实际上是shell程序的一部分&#xff0c;其中包含的是一些比较简单的linux系统命令&#xff0c;这些命令由shell程序识别并在shell程序内部完成运行&#xff0c;通常在linux系统加载运行时shell就被加载并驻留在系统内存中。内部命令是写在bashy源码里面的&#xff0c;其…

[转]矩阵分解在推荐系统中的应用

矩阵分解是最近几年比较火的算法&#xff0c;经过kddcup和netflix比赛的多人多次检验&#xff0c;矩阵分解可以带来更好的结果&#xff0c;而且可以充分地考虑各种因素的影响&#xff0c;有非常好的扩展性&#xff0c;因为要考虑多种因素的综合作用&#xff0c;往往需要构造cos…