久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

vue 計(jì)算屬性和偵聽(tīng)器的使用小結(jié)

瀏覽:130日期:2022-10-09 10:06:14
1. 計(jì)算屬性和偵聽(tīng)器1.1 計(jì)算屬性

<!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(’’)}/*// 相當(dāng)于reversedMessage: {get(){return this.message.split(’’).reverse().join(’’)}}*/} }); </script> </body></html>

vue 計(jì)算屬性和偵聽(tīng)器的使用小結(jié)

解釋?zhuān)何覀冊(cè)趯傩詂omputed中定義了計(jì)算屬性reversedMessage,這里提供的函數(shù)將作為計(jì)算屬性reversedMessage的getter函數(shù)。

1.2 setter

計(jì)算屬性默認(rèn)只有g(shù)etter,不過(guò)我們可以提供一個(gè)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 計(jì)算屬性和偵聽(tīng)器的使用小結(jié)

注意:雖然通過(guò)計(jì)算屬性和方法,都可以達(dá)到同樣的效果,但是計(jì)算屬性是基于它們的響應(yīng)式依賴(lài)進(jìn)行緩存的。只在相關(guān)響應(yīng)式依賴(lài)發(fā)生改變時(shí)它們才會(huì)重新求值。

1.4 偵聽(tīng)屬性

通過(guò)Vue實(shí)例的watch屬性可以偵聽(tīng)數(shù)據(jù)的變化。

<!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'>反轉(zhuǎn)</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>

我們可以通過(guò)實(shí)例屬性vm.$watch達(dá)到同樣的效果。

<!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'>反轉(zhuǎn)</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 計(jì)算屬性和偵聽(tīng)器的使用小結(jié)的詳細(xì)內(nèi)容,更多關(guān)于vue 計(jì)算屬性和偵聽(tīng)器的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 安丘市| 建昌县| 通州区| 紫云| 洛川县| 休宁县| 章丘市| 普兰县| 青神县| 延津县| 武隆县| 许昌县| 龙泉市| 长海县| 泸溪县| 富平县| 新野县| 临潭县| 旬阳县| 彭山县| 黑山县| 武平县| 溧阳市| 晋州市| 象山县| 鄂伦春自治旗| 西盟| 鲁甸县| 广元市| 绥化市| 鹿泉市| 夹江县| 南溪县| 遂昌县| 土默特右旗| 新野县| 革吉县| 南康市| 班戈县| 昌邑市| 静海县|