Vue 路由器 - 可选路由组
Vue router - optional route groups
我有一个关于 vue-router 的问题。我怎样才能完成一条这样的路线:
example.com/blog/category/value/tags/value/page/value
类别、标签和页面应该是可选的。
所以如果我访问
example.com/blog/category/value/page/value
- 它应该加载相同的组件。
我正在使用 vue 2。
谢谢!
试试这个
const Blog = {
template: `<div>Blog
<h3>{{ $route.params.category }} {{ $route.params.page }}</h3>
</div>`
};
const router = new VueRouter({
routes: [
{ path: '/blog(/category/)?:category([^\/]+)?(/page/)?:page?', component: Blog }
]
});
const app = new Vue({ router }).$mount('#app');
html:
<div id="app">
<p>
<router-link to="/blog">blog</router-link>
<router-link to="/blog/category/cat1/page/page1">/blog/link1</router-link>
<router-link to="/blog/category/cat2/page/page2">/blog/link2</router-link>
</p>
<router-view></router-view>
</div>
我有一个关于 vue-router 的问题。我怎样才能完成一条这样的路线:
example.com/blog/category/value/tags/value/page/value
类别、标签和页面应该是可选的。
所以如果我访问
example.com/blog/category/value/page/value
- 它应该加载相同的组件。
我正在使用 vue 2。
谢谢!
试试这个
const Blog = {
template: `<div>Blog
<h3>{{ $route.params.category }} {{ $route.params.page }}</h3>
</div>`
};
const router = new VueRouter({
routes: [
{ path: '/blog(/category/)?:category([^\/]+)?(/page/)?:page?', component: Blog }
]
});
const app = new Vue({ router }).$mount('#app');
html:
<div id="app">
<p>
<router-link to="/blog">blog</router-link>
<router-link to="/blog/category/cat1/page/page1">/blog/link1</router-link>
<router-link to="/blog/category/cat2/page/page2">/blog/link2</router-link>
</p>
<router-view></router-view>
</div>