亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue 計算屬性和偵聽器的使用小結(jié)

 更新時間:2021年01月25日 09:30:23   作者:gzhjj  
這篇文章主要介紹了vue 計算屬性和偵聽器的使用小結(jié),幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下

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>

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

1.2 setter

計算屬性默認只有g(shù)etter,不過我們可以提供一個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>

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

1.4 偵聽屬性

通過Vue實例的watch屬性可以偵聽數(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>

我們可以通過實例屬性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">反轉(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 計算屬性和偵聽器的使用小結(jié)的詳細內(nèi)容,更多關(guān)于vue 計算屬性和偵聽器的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 淺談Vue服務(wù)端渲染框架Nuxt的那些事

    淺談Vue服務(wù)端渲染框架Nuxt的那些事

    這篇文章主要介紹了淺談Vue服務(wù)端渲染框架Nuxt的那些事,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • element?實現(xiàn)導(dǎo)航欄收起展開功能及思路

    element?實現(xiàn)導(dǎo)航欄收起展開功能及思路

    這篇文章主要介紹了element?實現(xiàn)導(dǎo)航欄收起展開功能,實現(xiàn)思路先給 el-menu加上 :collapse="isCollapse" 屬性,這個屬性也是 element 上的一個參數(shù),意思為是否開啟折疊動畫,在 data 中定義 isCollapse ,用 true 和 false 控制展開與收起,需要的朋友可以參考下
    2023-01-01
  • 在vue項目創(chuàng)建的后初始化首次使用stylus安裝方法分享

    在vue項目創(chuàng)建的后初始化首次使用stylus安裝方法分享

    下面小編就為大家分享一篇在vue項目創(chuàng)建的后初始化首次使用stylus安裝方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • vue中常見的問題及解決方法總結(jié)(推薦)

    vue中常見的問題及解決方法總結(jié)(推薦)

    這篇文章主要給大家介紹了關(guān)于vue中常見的問題及解決方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • vue2實現(xiàn)傳送門效果的示例

    vue2實現(xiàn)傳送門效果的示例

    本文主要介紹了vue2實現(xiàn)傳送門效果的示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • 解決vue動態(tài)為數(shù)據(jù)添加新屬性遇到的問題

    解決vue動態(tài)為數(shù)據(jù)添加新屬性遇到的問題

    今天小編就為大家分享一篇解決vue動態(tài)為數(shù)據(jù)添加新屬性遇到的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 如何修改Vue項目運行的IP和端口

    如何修改Vue項目運行的IP和端口

    這篇文章主要介紹了修改Vue項目運行的IP和端口的方法,本文結(jié)合示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • vue3中form對象無法賦值的問題解決

    vue3中form對象無法賦值的問題解決

    這篇文章給大家介紹了vue3中form對象無法賦值的問題解決,有時候?qū)ο蟮闹邓阑钯x不上值,這時候可以看下賦值的對象變量名是否和頁面組件中的ref相同,文中給出了代碼示例供大家參考,需要的朋友可以參考下
    2024-01-01
  • vue項目如何實現(xiàn)Echarts在label中獲取點擊事件

    vue項目如何實現(xiàn)Echarts在label中獲取點擊事件

    這篇文章主要介紹了vue項目如何實現(xiàn)Echarts在label中獲取點擊事件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 整理項目中vue.config.js打包優(yōu)化配置方法

    整理項目中vue.config.js打包優(yōu)化配置方法

    這篇文章主要介紹了整理項目中vue.config.js打包優(yōu)化,包括配置?webpack-bundle-analyzer?插件查看文件大小及配置compression-webpack-plugin?用gzip壓縮打包的文件大小,本文結(jié)合實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02

最新評論