Vue的計算屬性和監聽器

一 代碼

<!DOCTYPE html>
<html lang="en">
<html>
<head>
    <meta charset="utf-8">
    <title>計算屬性與監聽器</title>
    <script src="https://cdn.jsdelivr.net/npm/vue"></script>    
</head>
<body>
    <!-- 掛載點 -->
    <div id="root">
        <div>姓:<input v-model="firstname"></input></div>
        <div>名:<input v-model="lastname"></input></div>
        <div>{{fullname}}</div>
        <div>{{count}}</div>
    </div>
    
    <script type="text/javascript">
        // 實例
        new Vue({
            el: "#root",
            data: {
                firstname: "",
                lastname: "",
                count: 0,
            },
            // 定義計算屬性
            computed: { // 依賴屬性發生變化纔會重新計算,當firstname或lastname發送變化時才重新計算computed
                fullname: function(){
                    return this.firstname+" "+this.lastname
                }
            },
            // 定義一個監聽器,當某個數據發生變化,觸發監聽器函數執行
            watch: {
                // firstname: function(){
                //  this.count++
                // },
                // lastname: function(){
                //  this.count++
                // }
                fullname: function(){ // 可以監聽計算屬性的變化,當fullname發送變化時,觸發函數執行
                    this.count++
                }
            }
        })
    </script>
</body>
</html>

二 效果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章