5、Vue的watch監聽方法

1:html頭文件的內容在<head>中引入了一個js文件javascript

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src='lib/vue.js'></script>
</head>

 2:這段代碼是<div>標籤有一個全選的checkbox和三個checkbox還有一個button和一個texthtml

 
<body>
    <div id="app">
        <input type="checkbox" v-model="allChecked">全選</input> 
        <p  v-for="item in list" :key="item.id">
        <input type="checkbox" v-model="item.isChecked">    
            {{item.userName}}
        </p>
        <button @click="clickMe">增長</button>
        <input type="text" v-model="user.userName">
    </div>

:這段代碼是放在<script>中的Vue代碼vue

<script>
    var vm=new Vue({
        el:"#app",
        data:{
            list:[
                {id:1,userName:"a",isChecked:false},
                {id:2,userName:"b",isChecked:false},
                {id:3,userName:"c",isChecked:false}
            ],
            allChecked:false,
            user:{id:1,userName:"abc"}               
        },
        methods:{
            clickMe(){
                this.list.push( {id:4,userName:"d",isChecked:false});
            }
        },
        watch:{
          //注意!監聽的方法名必須和變量名保持一致
            allChecked(newvalue,oldvalue){
                console.log(newvalue);
                console.log(oldvalue);s
            },
          
            //深度監聽
            list:{
                handler:function(newval,oldval){
                    console.log(newval);
                    console.log(oldval);
                },
                deep:true
            },
            user: {
                    handler: function (newVal, oldVal) {
                        console.log(newVal);
                        console.log(oldVal);
                    },
                    deep: true
                }
                //普通監聽
                // "user.userName": {
                //     handler: function (newVal, oldVal) {
                //         console.log(newVal);
                //         console.log(oldVal);
                //     }
                // },
        }

    });    
</script>

  4:HTML結尾java

</body>
</html>
相關文章
相關標籤/搜索