//watch监听单个的属性,里面的data存在
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title></title>
<script src='https://cdn.jsdelivr.net/npm/vue/dist/vue.js'></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
</head>
<body>
<div id='app'>
<router-link to="/login">登录</router-link>
<router-link to="/register">注册</router-link>
<router-view></router-view>
</div>
</body>
<script> let login = { template:"<h1>登录组件</h1>", } let register = { template:"<h1>注册组件</h1>", } let router = new VueRouter({ routes:[ {path:'/',redirect:'login'}, {path:'/login',component:login}, {path:'/register',component:register} ] }) let vm = new Vue({ el:'#app', data:{ }, methods:{ }, router, watch:{ "$route.path":function(newVal,oldVal){ console.log("new:"+newVal+"--old:"+oldVal) if(newVal == "/login"){ console.log("欢迎进入登录页面") }else if(newVal == "/register"){ console.log("欢迎进入注册页面") } } } }) </script>
</html>