<div id="myDiv"> <h1>简单路由</h1> <router-link to="/foo">Go to foo</router-link> <router-link to="/bar">Go to bar</router-link> // 渲染出口 <router-view></router-view> </div>
var foo={template:"<p>我是foo 组件</p>"};
var bar={template:"<p>我是bar 组件</p>"};
var routes = [
{path:'/foo',component:foo},
{path:'/bar',component:b ar},
];
// 这里还可以传入其他配置
const router = new VueRouter({
routes // (缩写)相当于 routes: routes;
});
var routerVue = new Vue({
router
}).$mount("#myDiv");
<div id="myDiv"> // 点击对应链接时传入对应参数foo 和 bar <router-link to="/User/:foo">Go to foo</router-link> <router-link to="/User/:bar">Go to bar</router-link> <router-view></router-view> </div>
const User = {
template:'<p>我的ID是{{ $route.params.id }}</p>',
// 在路由切换时可以观察路由
watch:{
'$route'(to,form){
console.log(to); //要到达的
console.log(form);
}
}
}
const router = new VueRouter({
routes:[
{path:'/user/:id',component:User} // 标记动态参数 id
]
});
var myVue = new Vue({
router
}).$mount("#myDiv")
<div id="myDiv"> <router-link to="/User/:foo">Go to foo</router-link> <router-link to="/User/:bar">Go to bar</router-link> <router-view></router-view> </div>
const User = {
template:'<div><p>我的ID是{{ $route.params.id }}</p><router-link to="/user/childone">ChildOne</router-link><router-link to="/user/childtwo">ChildOne</router-link><router-view></router-view></div>',
}
// 子路由
const userChildOne = {
template:'<div>我是 userChildOne</div>'
}
const userChildTwo = {
template:'<div>我是 userChildTwo</div>'
}
const router = new VueRouter({
routes:[
{path:'/user/:id',component:User,
children:[ // 用法和参数和routes 一样
{path:"/user/childone",component:userChildOne},
{path:"/user/childtwo",component:userChildTwo}
]
}
]
});
var myVue = new Vue({
router
}).$mount("#myDiv")
<div id="myDiv">
<!-- 要用v-bind 的绑定to -->
<router-link :to="{name:'userOne',params:{userId:'123'}}">Go to foo</router-link>
<router-link :to="{name:'userTwo',params:{userId:'456'}}">Go to bar</router-link>
<router-view></router-view>
</div>
const User = {
template:'<p>我的ID是{{ $route.params.userId }}</p>',
watch:{
'$route'(to,form){
console.log(to);
console.log(form);
}
}
}
const router = new VueRouter({
routes:[
// name 一一对应上
{path:'/user/:userId',name:"userOne",component:User},
{path:'/user/:userId',name:"userTwo",component:User}
]
});
var myVue = new Vue({
router
}).$mount("#myDiv")
<div id="myDiv">
<!-- 要用v-bind 的绑定to -->
<router-link :to="{name:'userOne',params:{userId:'123'}}">Go to foo</router-link>
<router-link :to="{name:'userTwo',params:{userId:'456'}}">Go to bar</router-link>
<!-- 视图命名 如果不写name 则为默认为 default-->
<router-view></router-view>
<router-view name='b'></router-view>
</div>
// 四个模板
const UserA = {
template:'<p>我是one,ID是{{ $route.params.userId }}</p>',
}
const UserB = {
template:'<p>我是two,ID是{{ $route.params.userId }}</p>',
}
const UserC = {
template:'<p>我是three,ID是{{ <1ro></1ro>ute.params.userId }}</p>',
}
const UserD = {
template:'<p>我是four,ID是{{ $route.params.userId }}</p>',
}
const router = new VueRouter({
routes:[
// name 一一对应上
{
path:'/user/:userId',
name:"userOne",
components:{ // 注意这里为components 多个“ s ”
default:UserA,
b:UserB
}
},
{
path:'/user/:userId',
name:"userTwo",
components:{
default:UserD,
b:UserC
}
}
]
});
var myVue = new Vue({
router
}).$mount("#myDiv")
<div id="myDiv"> <h2>效果查看地址栏最后面的变化</h2> <router-link to="/User/foo">Go to foo</router-link> <router-link to="/User/bar">Go to bar</router-link> <router-link to="/User/Car">Go to bar</router-link> <router-view></router-view> </div>
const User = {
template:'<p>我是同一个页面</p>',
}
const router = new VueRouter({
mode:"history",
routes:[
{ path:'/User/foo',component:User},
{ path:'/User/bar',redirect: '/User/foo',component:User},
// 重定向的目标也可以是一个命名的路由:
// 甚至是一个方法,动态返回重定向目标:
// 别名设置
{ path:'/User/foo',alias: '/User/Car'}
]
});
var myVue = new Vue({
router
}).$mount("#myDiv")
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有