vue 计算属性和侦听器的使用小结
网络编程 2021-07-04 14:07www.168986.cn编程入门
这篇文章主要介绍了vue 计算属性和侦听器的使用小结,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下
1. 计算属性和侦听器
1.1 计算属性
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="https://cdn.staticfile./vue/2.4.2/vue.min.js"></script> </head> <body> <div id="app"> <p>{{ message }}</p> <p>{{ reversedMessage }}</p> </div> <script> new Vue({ el: '#app', data: { message: 'hello' }, puted: { reversedMessage: function () { return this.message.split('').reverse().join('') } /* // 相当于 reversedMessage: { get(){ return this.message.split('').reverse().join('') } } */ } }); </script> </body> </html>
解释:我们在属性puted中定义了计算属性reversedMessage,这里提供的函数将作为计算属性reversedMessage的getter函数。
1.2 setter
计算属性默认只有getter,不过我们可以提供一个setter。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="https://cdn.staticfile./vue/2.4.2/vue.min.js"></script> </head> <body> <div id="app"> <p>{{ message }}</p> <p>{{ reversedMessage }}</p> <input type="text" v-model="reversedMessage" /> </div> <script> new Vue({ el: '#app', data: { message: 'hello' }, puted: { reversedMessage: { get(){ return this.message.split('').reverse().join('') }, set(value){ this.message = value.split('').reverse().join('') } } } }); </script> </body> </html>
1.3 缓存
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="https://cdn.staticfile./vue/2.4.2/vue.min.js"></script> </head> <body> <div id="app"> <p>{{ message }}</p> <p>{{ reversedMessage }}</p> <p>{{ reversedMessage1() }}</p> </div> <script> new Vue({ el: '#app', data: { message: 'hello' }, methods: { reversedMessage1: function(){ return this.message.split('').reverse().join('') } }, puted: { reversedMessage: function () { return this.message.split('').reverse().join('') } } }); </script> </body> </html>
注意:虽然通过计算属性和方法,都可以达到同样的效果,但是计算属性是基于它们的响应式依赖进行缓存的。只在相关响应式依赖发生改变时它们才会重新求值。
1.4 侦听属性
通过Vue实例的watch属性可以侦听数据的变化。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="https://cdn.staticfile./vue/2.4.2/vue.min.js"></script> </head> <body> <div id="app"> <p>{{ message }}</p> <button @click="reverse=!reverse">反转</button> </div> <script> new Vue({ el: '#app', data: { message: 'Vue', reverse: false }, watch: { // message: function(newVal, oldVal){ reverse: function(newVal){ console.log(newVal) this.message = this.message.split('').reverse().join('') } }, }); </script> </body> </html>
我们可以通过实例属性vm.$watch达到同样的效果。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="https://cdn.staticfile./vue/2.4.2/vue.min.js"></script> </head> <body> <div id="app"> <p>{{ message }}</p> <button @click="reverse=!reverse">反转</button> </div> <script> var vm = new Vue({ el: '#app', data: { message: 'Vue', reverse: false } }); // vm.$watch('reverse', function (newVal, oldVal) { vm.$watch('reverse', function (newVal) { console.log(newVal) this.message = this.message.split('').reverse().join('') }); </script> </body> </html>
以上就是vue 计算属性和侦听器的使用小结的详细内容,更多关于vue 计算属性和侦听器的资料请关注狼蚁SEO其它相关文章!
编程语言
- 机械手焊接机器人编程 机械手焊接设备编程
- vb数据库编程实例,vb做数据库
- tiobe世界编程语言排行榜,全球编程语言排行
- 成都java编程培训 成都it编程培训中心
- 编程基础培训,编程基础知识培训
- flash游戏编程基础教程,flash游戏开发教程
- 不会英语能学编程吗 不会英语可以学程序员吗
- 爱心代码编程C语言 爱心代码编程c语言公式
- c语言编程学习入门 c语言编程快速入门
- 西门子plc编程培训 西门子plc编程培训班
- 哪里可以学编程 台州哪里可以学编程
- 少儿编程哪个好 少儿编程哪个品牌好
- 编程是什么意思,图形编程是什么意思
- c语言编程软件下载,c语言编程软件在哪下载
- java编程软件下载,java编程下载手机版
- ug编程培训学校,ug编程培训教程