国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vue-12、Vue監(jiān)視屬性

這篇具有很好參考價值的文章主要介紹了Vue-12、Vue監(jiān)視屬性。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1、介紹
Vue中的監(jiān)視屬性是通過watch選項(xiàng)來實(shí)現(xiàn)的。watch選項(xiàng)可以是一個對象,其中的每個屬性都是要監(jiān)視的屬性名,而每個屬性的值都是一個回調(diào)函數(shù),用于處理這個屬性的變化。

例如,假設(shè)有一個Vue實(shí)例的data對象中有一個屬性message,我們想要監(jiān)視這個屬性的變化,可以通過watch選項(xiàng)來實(shí)現(xiàn):

new Vue({
  data: {
    message: 'Hello, Vue!'
  },
  watch: {
    message: function(newValue, oldValue) {
      console.log('message的值已經(jīng)改變了:', newValue, oldValue);
    }
  }
})

在上面的例子中,當(dāng)message屬性的值發(fā)生變化時,watch選項(xiàng)中定義的回調(diào)函數(shù)會被觸發(fā),并且會接收到新的值和舊的值作為參數(shù)。然后,我們可以在回調(diào)函數(shù)中執(zhí)行任意的操作,比如打印變化的值。

除了對象方式的watch選項(xiàng)外,Vue還提供了一種更簡便的方式,即使用計(jì)算屬性。使用計(jì)算屬性可以更方便地監(jiān)視屬性的變化,并且可以利用Vue的響應(yīng)式系統(tǒng)自動更新計(jì)算屬性的值。
例如,我們可以通過計(jì)算屬性來監(jiān)視message屬性的變化:

new Vue({
  data: {
    message: 'Hello, Vue!'
  },
  computed: {
    messageWatcher: {
      get: function() {
        return this.message;
      },
      set: function(newValue) {
        console.log('message的值已經(jīng)改變了:', newValue, this.message);
        this.message = newValue;
      }
    }
  }
})

在上面的例子中,我們定義了一個計(jì)算屬性messageWatcher,它的get方法返回message屬性的值,而set方法用于監(jiān)視message屬性的變化,并在變化時執(zhí)行回調(diào)函數(shù)。通過這種方式,我們可以更方便地監(jiān)視屬性的變化,并且可以在回調(diào)函數(shù)中對屬性的變化做出響應(yīng)。

2、案例天氣案例

效果
Vue-12、Vue監(jiān)視屬性,vue,vue.js,javascript,ecmascript

comuted 使用計(jì)算屬性實(shí)現(xiàn)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>監(jiān)視屬性</title>
    <!--引入vue-->
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<div id="root">
    <h2>今天天氣很{{info}}</h2>
    <button @click="changeweather">切換天氣</button>
</div>
<script type="text/javascript">
    Vue.config.productionTip=false;
    new Vue({
        el:"#root",
        data:{
            ishot:true
        },
        computed:{
            info(){
                return this.ishot ? '炎熱':'寒冷';
            }
        },
        methods:{
            changeweather(){
                this.ishot = !this.ishot;
            }
        }
    })
</script>
</body>
</html>

3、使用watch 監(jiān)視屬性第一種寫法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>監(jiān)視屬性實(shí)現(xiàn)天氣案例</title>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<div id="root">
    <h2>今天天氣很{{info}}</h2>
    <button @click="changeweather">切換天氣</button>
</div>
<script type="text/javascript">
    Vue.config.productionTip=false;
    new Vue({
        el:"#root",
        data:{
            ishot:true
        },
        computed:{
            info(){
                return this.ishot ? '炎熱':'寒冷';
            }
        },
        methods:{
            changeweather(){
                this.ishot = !this.ishot;
            }
        },
        watch:{
            ishot: {
                immediate:true,//初始化時讓handler調(diào)用一下
                //hander 什么時候被調(diào)用?當(dāng)ishot發(fā)生修改時。
                handler(newvalue,oldvalue){
                    console.log(newvalue,oldvalue);
                }
            }
        }
    })
</script>
</body>
</html>

Vue-12、Vue監(jiān)視屬性,vue,vue.js,javascript,ecmascript
使用watch 第二種方式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>監(jiān)視屬性實(shí)現(xiàn)天氣案例</title>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<div id="root">
    <h2>今天天氣很{{info}}</h2>
    <button @click="changeweather">切換天氣</button>
</div>
<script type="text/javascript">
    Vue.config.productionTip=false;
    const vm = new Vue({
        el:"#root",
        data:{
            ishot:true
        },
        computed:{
            info(){
                return this.ishot ? '炎熱':'寒冷';
            }
        },
        methods:{
            changeweather(){
                this.ishot = !this.ishot;
            }
        },
        // watch:{
        //     ishot: {
        //         immediate:true,//初始化時讓handler調(diào)用一下
        //         //hander 什么時候被調(diào)用?當(dāng)ishot發(fā)生修改時。
        //         handler(newvalue,oldvalue){
        //             console.log(newvalue,oldvalue);
        //         }
        //     }
        // }
    })
    vm.$watch('ishot',{
        immediate:true,//初始化時讓handler調(diào)用一下
                //hander 什么時候被調(diào)用?當(dāng)ishot發(fā)生修改時。
        handler(newvalue,oldvalue){
            console.log(newvalue,oldvalue);
        }
    })
</script>
</body>
</html>

Vue-12、Vue監(jiān)視屬性,vue,vue.js,javascript,ecmascript
總結(jié):
Vue-12、Vue監(jiān)視屬性,vue,vue.js,javascript,ecmascript文章來源地址http://www.zghlxwxcb.cn/news/detail-824238.html

到了這里,關(guān)于Vue-12、Vue監(jiān)視屬性的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Vue3的computed計(jì)算屬性和watch監(jiān)視(四)

    Vue3的computed計(jì)算屬性和watch監(jiān)視(四)

    監(jiān)視【ref】定義的【基本數(shù)據(jù)】類型 監(jiān)視【ref】定義的【對象類型】數(shù)據(jù) 監(jiān)視【reactive】定義的【對象類型】數(shù)據(jù) ?與 場景二 不同的是,newVal和oldVal是一樣的,表明通過Object.assign重新賦值的時候,并不是生成一個新的對象,而是新的值覆蓋了舊值 監(jiān)視【ref】或者【reactiv

    2024年02月21日
    瀏覽(23)
  • Vue3監(jiān)視屬性watch詳解(附帶詳細(xì)代碼與講解!!!)

    Vue3監(jiān)視屬性watch詳解(附帶詳細(xì)代碼與講解!!!)

    watch() 默認(rèn)是懶偵聽的,即僅在偵聽源發(fā)生變化時才執(zhí)行回調(diào)函數(shù)。 第一個參數(shù)是偵聽器的 源 。這個來源可以是以下幾種: 一個函數(shù), 一個返回值 一個ref 一個響應(yīng)式對象(reactive定義的) ...或是由以上類型的值組成的數(shù)組 第二個參數(shù)是一個回調(diào)函數(shù), 這個回調(diào)函數(shù)可接收三個

    2024年02月11日
    瀏覽(30)
  • Vue3的props需要注意的地方(簡寫與監(jiān)視屬性)

    在工作中踩了props的坑,總結(jié)一下: 1.props是可以在模板語法中簡寫的。就好比,toRefs了一下state。我們沒必要在模板語法中加上props.xxx; 2.有時我們需要監(jiān)視props的內(nèi)容,可以用到監(jiān)視屬性watch。我們可以先復(fù)習(xí)一下watch在Vue3的用法: 具體也可以見一下這篇博客:Vue3中watch的

    2024年02月07日
    瀏覽(22)
  • 【Vue3】setup的注意點(diǎn)及watch監(jiān)視屬性的六種情況

    【Vue3】setup的注意點(diǎn)及watch監(jiān)視屬性的六種情況

    1.1setup的執(zhí)行時間 1.setup的執(zhí)行時間要比beforCreate執(zhí)行要早 1.2.steup參數(shù) setup的參數(shù) 1.props: 值為對象,包含: 組件外部傳遞過來,且組件內(nèi)部聲明接收了的屬性 2.context:上下文對象 ①attrs:值為對象,包含: 組件外部傳遞過來,但沒有在props配置中聲明的屬性,相當(dāng)于 this.$attrs ②sl

    2023年04月22日
    瀏覽(24)
  • JavaScript - 判斷當(dāng)前時間是否在指定區(qū)間內(nèi),例如:9:00~12:00(檢查當(dāng)前時間是否處于規(guī)定的兩個時間段范圍內(nèi)),適用于 vue.js / uniapp / 微信小程序等前端項(xiàng)目

    例如,您想知道當(dāng)前時間是否處于 9:00 ~ 12:00 時間區(qū)間內(nèi),然后根據(jù)這個判斷進(jìn)而實(shí)現(xiàn)業(yè)務(wù)邏輯。 如下示例所示, 本文提供一個函數(shù),您只需要傳入 2 個時間區(qū)間,便可得出當(dāng)前時間是否在該時間區(qū)間范圍內(nèi): 您可以一鍵復(fù)制,直接粘貼到您的項(xiàng)目中。 您只需要傳入開始時

    2024年02月16日
    瀏覽(51)
  • Vue.js 中的 watch 屬性詳解

    Vue.js 中的 watch 屬性詳解

    在 Vue.js 中, watch 屬性是一種非常重要的屬性,它可以監(jiān)聽 Vue 實(shí)例中指定的數(shù)據(jù)變化,并在數(shù)據(jù)發(fā)生變化時執(zhí)行相應(yīng)的操作。本文將對 Vue.js 中的 watch 屬性進(jìn)行詳細(xì)的介紹,并附上相關(guān)的代碼示例。 在 Vue.js 中, watch 屬性被定義為一個對象,它可以用來監(jiān)聽 Vue 實(shí)例中的數(shù)

    2024年02月07日
    瀏覽(26)
  • vue.js中如何給元素動態(tài)添加屬性?

    由于已經(jīng)在一個對象中有屬性,可以直接將它傳遞給v-bind;如下例子

    2024年02月14日
    瀏覽(31)
  • Vue.js 中的過濾器和計(jì)算屬性

    Vue.js 中的過濾器和計(jì)算屬性

    Vue.js 是一款流行的 JavaScript 框架,它提供了一種簡單而靈活的方式來構(gòu)建交互式 Web 應(yīng)用程序。在 Vue.js 中,過濾器和計(jì)算屬性是兩個常用的概念。它們可以幫助開發(fā)者更方便地處理數(shù)據(jù),提高代碼的可讀性和可維護(hù)性。但是這兩個概念有什么區(qū)別呢?本文將會詳細(xì)介紹 Vue

    2024年02月08日
    瀏覽(19)
  • Vue-12.集成postcss.config.js

    PostCSS 是一個用于處理樣式的工具,可以通過插件來定制其行為。以下是一些常用的 PostCSS 插件和 API 的介紹: Autoprefixer : 這是一個流行的 PostCSS 插件,用于自動添加瀏覽器前綴,以確保您的樣式在不同瀏覽器中具有一致的效果。在配置中使用 \\\"autoprefixer\\\": {} 來啟用。 postcss

    2024年02月12日
    瀏覽(19)
  • Vue-13、Vue深度監(jiān)視

    Vue-13、Vue深度監(jiān)視

    1、監(jiān)視多級結(jié)構(gòu)中某個屬性的變化 2、監(jiān)視多級結(jié)構(gòu)中所有屬性的變化。 3、監(jiān)視簡寫 當(dāng)只有handler 時簡寫如下: 4、監(jiān)視屬性姓名案例 5、計(jì)算屬性與監(jiān)視屬性的區(qū)別

    2024年01月24日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包