欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

1. 計(jì)算屬性和偵聽器

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>

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

1.2 setter

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

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

1.4 偵聽屬性

通過Vue實(shí)例的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>

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

    如何修改Vue項(xiàng)目運(yùn)行的IP和端口

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

    vue3中form對(duì)象無法賦值的問題解決

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

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

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

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

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

最新評(píng)論