国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

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

瀏覽:111日期: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
相關文章:
主站蜘蛛池模板: 钦州市| 平武县| 寻乌县| 台安县| 罗山县| 会东县| 重庆市| 秦安县| 定襄县| 勃利县| 灵石县| 策勒县| 华坪县| 新野县| 白银市| 兴隆县| 广汉市| 垫江县| 天台县| 蓬莱市| 阿克苏市| 龙泉市| 平阳县| 盘锦市| 琼结县| 民县| 金溪县| 抚顺县| 兴海县| 丰县| 奈曼旗| 福贡县| 咸宁市| 古浪县| 成武县| 巨野县| 楚雄市| 南部县| 龙里县| 车致| 北京市|