前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Vue.js 计算属性 原

Vue.js 计算属性 原

作者头像
tianyawhl
发布于 2019-04-04 07:33:37
发布于 2019-04-04 07:33:37
1.8K0
举报
文章被收录于专栏:前端之攻略前端之攻略

计算属性与methods方法 模板内的表达式是非常便利的,但在模板中放太多的逻辑会让模板过重且难以维护,对于复杂的逻辑应该使用计算属性 <div id="example">   <p>Original message: "{{ message }}"</p>   <p>Computed reversed message: "{{ reversedMessage }}"</p> </div> var vm = new Vue({   el: '#example',   data: {     message: 'Hello'   },   computed: {     // a computed getter     reversedMessage: function () {       // `this` points to the vm instance       return this.message.split('').reverse().join('')     }   } }) 同样用methods可以达到与computed一样的效果 <p>Reversed message: "{{ reversedMessage() }}"</p> methods: {   reversedMessage: function () {     return this.message.split('').reverse().join('')   } } 使用computed与methods最终的结果是相同的,不同的是计算属性是基于它们的依赖进行缓存的,计算属性只有在它的相互依赖改变时才会重新求值,意味着只要message不发生变化,多次访问reversedMessage 计算属性会立即返回之前的计算结果,而不必执行函数,相比之言,只要发生重新渲染,methods调用总会执行该函数,如果不希望有缓存,请使用methods

计算属性与Watched属性 Vue 确实提供了一种更通用的方式来观察与响应实例上的数据变化,你很容易滥用watch,特别是如果你之前使用过Angular JS,通常更好的方法是使用computed属性而不是命令式的watch回调 如下的例子是使用vatch来监听firstName与lastName的变化,如果变化则给fullName重新赋值,特别注意在data初始化时就要有fullName var vm = new Vue({   el: '#demo',   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     }   } }) 上面的代码是命令式的和重复的,将它与计算属性的版本进行比较,计算属性代码非常简单清晰 var vm = new Vue({   el: '#demo',   data: {     firstName: 'Foo',     lastName: 'Bar'   },   computed: {     fullName: function () {       return this.firstName + ' ' + this.lastName     }   } })

计算属性可以设置 setter 计算属性默认只有getter,不过在需要时你也可以提供一个setter  <script>     var app = new Vue({         el: "#app",         data: { firstName: "wang", lastName: "lily2" },         computed: {             fullName: {                 get: function() {                     return this.firstName + " " + this.lastName;                 },                 set: function(newValue) {                     names = newValue.split(" ");                     this.firstName = names[0];                     this.lastName = names[1];                 }             }         }     })     app.fullName = 'John Doe'     </script> 现在再运行 ,setter 会被调用,vm.firstName 和 vm.lastName 也相应地会被更新。 

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/08/23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
利用开源审计插件对mysql进行审计
假设这么一个情况,你是某公司mysql DBA,某日突然公司数据库中的所有被人为删了。尽管有数据备份,但是因服务停止而造成的损失上千万,现在公司需要查出那个做删除操作的人。
SEian.G
2021/03/03
3.2K0
等保测评2.0:MySQL安全审计
虽然遇到这些插件的概率不高,我还是把这些插件的基本参数都列出来,到时候如果真遇到了,也不至于一头雾水。
FB客服
2020/03/24
6K0
等保测评2.0:MySQL安全审计
MySQL审计插件使用和对比
数据库审计是数据库安全中很重要的一个环节,说到审计,有些上市公司内部还会根据塞班斯法案,进行404审计等等。 而最基本的审计还是需要的,有些同学可能感觉审计会有些鸡肋,其实非也,开审计的功能势必会影响性能,如果不开又会有遗漏,这种防患于未然,把问题都扼杀在摇篮之中,通过这种规范和制度来做最后一道防线。 MySQL中也需要审计,不说大的方向,就说和我们工作更贴近的,比如某一个业务在某个时间点出现了异常,因为异常操作(比如DDL)导致系统出现了严重的问题,这个时候如果要查看这个问题的具体情
jeanron100
2018/03/22
4K0
MySQL审计插件使用和对比
MySQL监视——审计日志
MySQL的企业版中提供了审计日志功能。通过审计日志可以记录用户的登录、连接、执行的查询等行为,输出XML格式或者JSON格式的日志文件。
MySQLSE
2023/08/31
1K0
MySQL监视——审计日志
hhdb数据库介绍(9-21)
控制节点切换前是否先判断集群所有成员都能ping通,true开启false关闭。 例:A机房和B机房构成双活集群,A机房3个计算节点,B机房2个计算节点,primary节点在B机房。AB机房网络隔离后,A机房做为多数派会选出主,B机房无法形成多数派而cluster shutdown,但是在B机房primary未下线时,收到A机房主存储节点的心跳超时导致存储节点发生切换(开启此参数可避免此类情况)。
恒辉信达
2024/12/03
1170
hhdb数据库介绍(9-26)
启动时,主存储节点在首次初始化失败后,会一直重连;若存在备存储节点且超过主存储节点初始化超时时间,则会切换到可用的备存储节点,若该节点所有存储节点都初始化失败,则整个节点不可用。如果数据节点初始化失败且无可用逻辑库,或数据节点下无存储节点,则计算节点无法启动。
恒辉信达
2024/12/03
950
MySQL安全插件-数据库审计
数据库审计(简称DBAudit)能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断。它通过对用户访问数据库行为的记录、分析和汇报,用来帮助用户事后生成合规报告、事故追根溯源,同时加强内外部数据库网络行为记录,提高数据资产安全。
Power
2025/03/01
6280
mysql审计开启–两种方法
这里使用的是macfee的mysql audit插件,虽然日志信息比较大,对性能影响大,但是如果想要开启审计,那也应该忍受了。介绍几个参考地址:
全栈程序员站长
2022/07/20
2.4K0
技术分享 | 细说 MySQL 用户安全加固策略
作者:官永强,爱可生 DBA 团队成员,擅长 MySQL 运维方面的技能。热爱学习新知识,亦是个爱打游戏的宅男。
爱可生开源社区
2023/12/20
4590
技术分享 | 细说 MySQL 用户安全加固策略
hhdb数据库介绍(9-22)
用于设置数据节点空闲检查的定时任务的时间。计算节点会定时检查后端存储节点连接情况,关闭多余的空闲连接或者补足连接池的可用连接,保持连接不被存储节点关闭,维护连接池的正常运作。
恒辉信达
2024/12/03
940
四十八、审计功能
审计是数据库安全中很重要的一个环节,它能够实时记录数据库的操作,帮助数据库管理员对数据库异常行为进行分析审计。审计会详细记录谁在什么时间执行了什么操作。MySQL 社区版没有自带的审计功能或插件,只有 MySQL 商业版中有审计功能。审计记录的日志如下:
喵叔
2021/07/14
4470
【MySQL】MySQL审计操作记录
简介: 数据库审计能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库受到的风险行为进行告警,对攻击行为进行阻断,它通过对用户访问数据库行为的记录、分析和汇报,用来帮助用户事后生成合规报告、事故追根溯源,同时加强内外部数据库网络行为记录,提高数据资产安全。
MySQL技术
2019/09/08
4.4K0
技术分享 | MySQL 使用 MariaDB 审计插件
专注于 Oracle、MySQL 数据库多年,Oracle 10G 和 12C OCM,MySQL 5.6 ,5.7,8.0 OCP。现在鼎甲科技任顾问,为同事和客户提供数据库培训和技术支持服务。
爱可生开源社区
2020/09/14
1.2K0
Oracle标准审计实战过程详解
最近很多人咨询我Oracle的审计功能,下面我用一个非常清晰的过程给大家讲解一个相关案例。
数据和云
2021/08/27
6610
技术分享 | 聊聊 MySQL 关机的故事
这两天看到一个 MySQL 群里在讨论一个有趣的话题,大家平时都是怎么关闭 MySQL 的,一个大佬还发起了一个投票。投票如下:
爱可生开源社区
2022/04/06
3460
技术分享 | MariaDB 10.1.9 迁移到 MySQL 5.7.25
爱可生 DBA 团队成员,负责项目日常问题处理及公司平台问题排查,对数据库有兴趣,对技术有想法。一入 IT 深似海,从此节操是路人。
爱可生开源社区
2020/06/12
2.1K0
技术分享 | MariaDB 10.1.9 迁移到 MySQL 5.7.25
MySQL审计插件介绍
数据库审计功能主要将用户对数据库的各类操作行为记录审计日志,以便日后进行跟踪、查询、分析,以实现对用户操作的监控和审计。审计是一项非常重要的工作,也是企业数据安全体系的重要组成部分,等保评测中也要求有审计日志。对于 DBA 而言,数据库审计也极其重要,特别是发生人为事故后,审计日志便于我们进行责任追溯,问题查找。
MySQL技术
2022/11/22
8590
MySQL审计插件介绍
MySQL审计数据归档演示
在此博客中,我将演示如何在许多mysql实例之间将审计日志进行合并归档。在后续文章中,我将展示如何通过在该归档文件上创建一个简单的哈希链来扩展此示例–这样您就可以证明是否可以通过任何方式对其进行了修改或污染,以及在何处进行了修改。
MySQLSE
2020/11/09
1.1K0
MySQL企业版之Audit(审计)初体验
MySQL企业版的优势在于有原厂技术支持,以及几个相当不错的功能插件,例如Transparent Data Encryption (TDE)(透明数据加密)、Audit(审计)、thread pool(线程池)、firewall(防火墙)、Data Masking(数据打码)等功能,还有企业级高可用、备份、监控等工具套件。
老叶茶馆
2020/06/24
2K0
【腾讯云CDB】MySQL审计功能大揭秘
腾讯云数据库 TencentDB
2017/12/28
5.3K0
【腾讯云CDB】MySQL审计功能大揭秘
相关推荐
利用开源审计插件对mysql进行审计
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档