av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

vue 計算屬性和偵聽器的使用小結

瀏覽:134日期:2022-10-09 10:06:14
1. 計算屬性和偵聽器1.1 計算屬性

<!DOCTYPE html><html> <head> <meta charset='utf-8'> <script src='https://cdn.staticfile.org/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’},computed: {reversedMessage: function () {return this.message.split(’’).reverse().join(’’)}/*// 相當于reversedMessage: {get(){return this.message.split(’’).reverse().join(’’)}}*/} }); </script> </body></html>

vue 計算屬性和偵聽器的使用小結

解釋:我們在屬性computed中定義了計算屬性reversedMessage,這里提供的函數將作為計算屬性reversedMessage的getter函數。

1.2 setter

計算屬性默認只有getter,不過我們可以提供一個setter。

<!DOCTYPE html><html> <head> <meta charset='utf-8'> <script src='https://cdn.staticfile.org/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’},computed: {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.org/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(’’)}},computed: {reversedMessage: function () {return this.message.split(’’).reverse().join(’’)}} }); </script> </body></html>

vue 計算屬性和偵聽器的使用小結

注意:雖然通過計算屬性和方法,都可以達到同樣的效果,但是計算屬性是基于它們的響應式依賴進行緩存的。只在相關響應式依賴發生改變時它們才會重新求值。

1.4 偵聽屬性

通過Vue實例的watch屬性可以偵聽數據的變化。

<!DOCTYPE html><html> <head> <meta charset='utf-8'> <script src='https://cdn.staticfile.org/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.org/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 計算屬性和偵聽器的資料請關注好吧啦網其它相關文章!

標簽: Vue
相關文章:
主站蜘蛛池模板: 亚洲美女在线视频 | 欧美精品中文字幕久久二区 | 久久久久久久久久影视 | 激情毛片 | 北条麻妃av一区二区三区 | 亚洲国产精品99久久久久久久久 | 日本一区二区三区在线观看 | 日韩精品视频在线 | 1000部精品久久久久久久久 | 亚洲欧美精品在线观看 | 涩涩视频在线看 | 亚洲欧美一区二区三区在线 | 狠狠躁夜夜躁人人爽天天高潮 | 精品国产91乱码一区二区三区 | 亚洲欧美中文日韩在线v日本 | 色综合99 | 黄色一级免费 | 韩日精品在线观看 | 亚洲精品68久久久一区 | 不卡的av一区 | 国产精品亚洲精品日韩已方 | 欧美成人精品一区 | 精品久久一区二区三区 | 亚洲高清av | 久在线视频播放免费视频 | 久久成人精品一区二区三区 | 日本高清中文字幕 | 久久久青草婷婷精品综合日韩 | 久久精品视频在线观看 | 欧美性久久 | 日本成人福利 | 波多野结衣二区 | 国产一区二区中文字幕 | 天天宗合网 | 免费一级欧美在线观看视频 | 999精品网 | 九九九色| 久久与欧美 | 精品一区二区三区四区 | 99免费| 亚洲成a|