computed可以监听v-model(data)中的值,只要值发生变化 他就会重新去计算
computed必须是要有一个返回值的哦 
  <div id="app">
        <input type="text" v-model="firstname">+
        <input type="text" v-model="lasttname">=
        <input type="text" v-model="fullname">
    </div>
var vm = new Vue({
            el: "#app",
            data: {
                firstname: "",
                lasttname: "",
            },
            methods: {

            },

             // computed可以监听v-model(data)中的值,只要值发生变化 他就会重新去计算
             // computed必须是要有一个返回值的哦 
            computed: {
                fullname: function () {
                    return this.firstname + "-" + this.lasttname
                }
            },
        })

//watch除了可以监听data中值的变化,还可以监听路由的变化,
//watch中有两个参数 分别是新值和旧值

     var vm = new Vue({
            el: "#app",
            data: {

            },
            methods: {

            },
            router: router,
            watch: {
                "$route.path":function(newval,oldval){
                if(newval==="/login"){
                    console.log("这是denglu页面")
                }else if(newval==="/zhuce"){
                    console.log("这是注册页面")

                }
                }
            },

        })

computed和watch的区别
《1》计算属性computed 必须要返回一个值哦 通过return来返回的
watch里面是不许要返回值的

《2》 watch的回调函数里面有两个参数,分别是newval和oldval,而computed回调函里面是没有参数

01-16 02:24