<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="./js/vue.js"></script>
<script src="./js/vue-router-3.0.1.js"></script>
</head>
<body>
<div id="app">
<!-- 如果在路由中,使用查询字符串,则不需要修改 路由匹配规则 -->
<router-link to="/login">登录</router-link>
<router-link to="/register">注册</router-link>
<!-- 容器 -->
<router-view></router-view>
</div>
<script>
var login = {
// this默认指当前组件实例,在插值表达式中this可以省略
template: '<h1>登录组件</h1>',
};
var register = {
template: '<h1>注册组件</h1>'
}
var router = new VueRouter({
routes: [
{ path: '/login',component: login},
{ path: '/register',component: register},
]
})
//创建Vue实例,得到 ViewModel
var vm = new Vue({
el: '#app',
data: {},
methods: {},
router: router, //将路由规则挂载到vm实例中
watch:{
// 监听 this.$route.path watch监听非DOM元素的改变
'$route.path':function(newVal,oldVal){
// console.log(newVal + '---' + oldVal);
if(newVal === '/login'){
console.log('欢迎进入登录页面');
}else if(newVal === '/register'){
console.log('欢迎进入注册页面');
}
}
}
});
</script>
</body>
</html>