parent
e0739a435e
commit
629b57cd51
13 changed files with 292 additions and 4 deletions
@ -0,0 +1,32 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<div class="row"> |
||||||
|
<Banner/> |
||||||
|
</div> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-xs-2 col-xs-offset-2"> |
||||||
|
<div class="list-group"> |
||||||
|
<router-link class="list-group-item" active-class="active" to="/about">About</router-link> |
||||||
|
<router-link class="list-group-item" active-class="active" to="/home">Home</router-link> |
||||||
|
<!-- <a class="list-group-item active" href="./about.html">About</a>--> |
||||||
|
<!-- <a class="list-group-item" href="./home.html">Home</a>--> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="col-xs-6"> |
||||||
|
<div class="panel"> |
||||||
|
<div class="panel-body"> |
||||||
|
<router-view></router-view> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import Banner from "@/components/Banner.vue"; |
||||||
|
export default { |
||||||
|
name: "App", |
||||||
|
components: {Banner} |
||||||
|
} |
||||||
|
</script> |
After Width: | Height: | Size: 6.7 KiB |
@ -0,0 +1,11 @@ |
|||||||
|
<template> |
||||||
|
<div class="col-xs-offset-2 col-xs-8"> |
||||||
|
<div class="page-header"><h2>Vue Router Demo</h2></div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
export default { |
||||||
|
name: "Banner" |
||||||
|
} |
||||||
|
</script> |
@ -0,0 +1,23 @@ |
|||||||
|
// 引入Vue
|
||||||
|
import Vue from "vue"; |
||||||
|
// 引入App
|
||||||
|
import App from "./App"; |
||||||
|
// 引入VueRouter
|
||||||
|
import VueRouter from "vue-router"; |
||||||
|
// 引入router
|
||||||
|
import router from "@/router"; |
||||||
|
|
||||||
|
// 设置Vue
|
||||||
|
Vue.config.productionTip = false |
||||||
|
|
||||||
|
// 使用插件
|
||||||
|
Vue.use(VueRouter) |
||||||
|
|
||||||
|
// 实例化Vue
|
||||||
|
new Vue({ |
||||||
|
components: { |
||||||
|
App |
||||||
|
}, |
||||||
|
render: h => h(App), |
||||||
|
router: router, |
||||||
|
}).$mount('#app') |
@ -0,0 +1,21 @@ |
|||||||
|
<template> |
||||||
|
<h2>我是About的内容</h2> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
export default { |
||||||
|
name: "About", |
||||||
|
mounted() { |
||||||
|
console.log('About组件挂着完成', this) |
||||||
|
window.aboutRoute = this.$route |
||||||
|
window.aboutRouter = this.$router |
||||||
|
}, |
||||||
|
beforeDestroy() { |
||||||
|
console.log('About组件即将销毁') |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped> |
||||||
|
|
||||||
|
</style> |
@ -0,0 +1,16 @@ |
|||||||
|
<template> |
||||||
|
<ul> |
||||||
|
<li>消息编号:{{this.$route.query.id}}</li> |
||||||
|
<li>消息标题:{{this.$route.query.title}}</li> |
||||||
|
</ul> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
|
||||||
|
export default { |
||||||
|
name: "Detail", |
||||||
|
mounted() { |
||||||
|
console.log(this.$route) |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
@ -0,0 +1,36 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<h2>Home组件内容</h2> |
||||||
|
<div> |
||||||
|
<ul class="nav nav-tabs"> |
||||||
|
<li> |
||||||
|
<router-link class="list-group-item" active-class="active" to="/home/news">News</router-link> |
||||||
|
</li> |
||||||
|
<li> |
||||||
|
<router-link class="list-group-item" active-class="active" to="/home/message">Message</router-link> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
|
<ul> |
||||||
|
<router-view></router-view> |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
export default { |
||||||
|
name: "Home", |
||||||
|
mounted() { |
||||||
|
console.log('Home组件挂着完成', this) |
||||||
|
window.homeRoute = this.$route |
||||||
|
window.homeRouter = this.$router |
||||||
|
}, |
||||||
|
beforeDestroy() { |
||||||
|
console.log('Home组件即将销毁') |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped> |
||||||
|
|
||||||
|
</style> |
@ -0,0 +1,44 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<ul> |
||||||
|
<li v-for="m in messageList" :key="m.id"> |
||||||
|
<!-- to的普通写法--> |
||||||
|
<!-- <router-link :to="`/home/message/detail/?id=${m.id}&title=${m.title}`">{{m.title}}</router-link>--> |
||||||
|
<!-- to的对象写法--> |
||||||
|
<router-link :to="{ |
||||||
|
path: '/home/message/detail', |
||||||
|
query: { |
||||||
|
id: m.id, |
||||||
|
title: m.title |
||||||
|
} |
||||||
|
}"> |
||||||
|
{{ m.title }} |
||||||
|
</router-link> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
|
<hr> |
||||||
|
<router-view></router-view> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import detail from "@/pages/Detail.vue"; |
||||||
|
|
||||||
|
export default { |
||||||
|
name: "Message", |
||||||
|
computed: { |
||||||
|
detail() { |
||||||
|
return detail |
||||||
|
} |
||||||
|
}, |
||||||
|
data() { |
||||||
|
return { |
||||||
|
messageList: [ |
||||||
|
{id: '001', title: '消息001'}, |
||||||
|
{id: '002', title: '消息002'}, |
||||||
|
{id: '003', title: '消息003'} |
||||||
|
] |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
@ -0,0 +1,15 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<ul> |
||||||
|
<li>news001</li> |
||||||
|
<li>news002</li> |
||||||
|
<li>news003</li> |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
export default { |
||||||
|
name: "News" |
||||||
|
} |
||||||
|
</script> |
@ -0,0 +1,38 @@ |
|||||||
|
import VueRouter from "vue-router"; |
||||||
|
|
||||||
|
// 引入组件
|
||||||
|
import About from "@/pages/About.vue" |
||||||
|
import Home from "@/pages/Home.vue" |
||||||
|
import News from "@/pages/News.vue" |
||||||
|
import Message from "@/pages/Message.vue"; |
||||||
|
import Detail from "@/pages/Detail.vue"; |
||||||
|
|
||||||
|
// 创建一个路由器
|
||||||
|
export default new VueRouter({ |
||||||
|
routes: [ |
||||||
|
{ |
||||||
|
path: '/about', |
||||||
|
component: About |
||||||
|
}, |
||||||
|
{ |
||||||
|
path: '/home', |
||||||
|
component: Home, |
||||||
|
children: [ |
||||||
|
{ |
||||||
|
path: 'news', |
||||||
|
component: News, |
||||||
|
}, |
||||||
|
{ |
||||||
|
path: 'message', |
||||||
|
component: Message, |
||||||
|
children: [ |
||||||
|
{ |
||||||
|
path: 'detail', |
||||||
|
component: Detail |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
] |
||||||
|
}) |
@ -0,0 +1,16 @@ |
|||||||
|
<template> |
||||||
|
<ul> |
||||||
|
<li>消息编号:{{this.$route.query.id}}</li> |
||||||
|
<li>消息标题:{{this.$route.query.title}}</li> |
||||||
|
</ul> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
|
||||||
|
export default { |
||||||
|
name: "Detail", |
||||||
|
mounted() { |
||||||
|
console.log(this.$route) |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
@ -1,15 +1,44 @@ |
|||||||
<template> |
<template> |
||||||
<div> |
<div> |
||||||
<ul> |
<ul> |
||||||
<li><a href="/message1">message001</a></li> |
<li v-for="m in messageList" :key="m.id"> |
||||||
<li><a href="/message2">message002</a></li> |
<!-- to的普通写法--> |
||||||
<li><a href="/message3">message003</a></li> |
<!-- <router-link :to="`/home/message/detail/?id=${m.id}&title=${m.title}`">{{m.title}}</router-link>--> |
||||||
|
<!-- to的对象写法--> |
||||||
|
<router-link :to="{ |
||||||
|
path: '/home/message/detail', |
||||||
|
query: { |
||||||
|
id: m.id, |
||||||
|
title: m.title |
||||||
|
} |
||||||
|
}"> |
||||||
|
{{ m.title }} |
||||||
|
</router-link> |
||||||
|
</li> |
||||||
</ul> |
</ul> |
||||||
|
<hr> |
||||||
|
<router-view></router-view> |
||||||
</div> |
</div> |
||||||
</template> |
</template> |
||||||
|
|
||||||
<script> |
<script> |
||||||
|
import detail from "@/pages/Detail.vue"; |
||||||
|
|
||||||
export default { |
export default { |
||||||
name: "Message" |
name: "Message", |
||||||
|
computed: { |
||||||
|
detail() { |
||||||
|
return detail |
||||||
|
} |
||||||
|
}, |
||||||
|
data() { |
||||||
|
return { |
||||||
|
messageList: [ |
||||||
|
{id: '001', title: '消息001'}, |
||||||
|
{id: '002', title: '消息002'}, |
||||||
|
{id: '003', title: '消息003'} |
||||||
|
] |
||||||
|
} |
||||||
|
} |
||||||
} |
} |
||||||
</script> |
</script> |
||||||
|
Loading…
Reference in new issue