今天写vue 动态路由在不同的用户界面后面会跟上不同的id 而在写的组件上想显示添加上去的id发现用this.$route.params.userid
一直在界面上不显示
($route只能获取活跃状态下路由的数据) route是一个跳转的路由对象,每一个路由都会有一个route对象,是一个局部的对象
原因是在router文件夹下的index.js文件配置路由时 直接用export导出routes 没有先声明routes中的内容 正确的配置路由代码[index.js]:
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import xiaozhan from '../components/xz'
import user from '../components/user'
Vue.use(Router)
const routes = [
{
path: '/',
redirect:'/hello'
},
{
path: '/hello',
name: 'HelloWorld',
component: HelloWorld
},
{
path: '/xz',
name: 'xiaozhan',
component: xiaozhan
},
{
path: '/user/:userid',
name: 'user',
component: user
}
]
export default new Router({
routes,
mode:'history',
linkActiveClass:'active1'
})
原先:
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import xiaozhan from '../components/xz'
Vue.use(Router)
export default new Router({
routes: [
{
path: '',
redirect:'/hello'
},
{
path: '/hello',
name: 'HelloWorld',
component: HelloWorld
},
{
path: '/xz',
name: 'xiaozhan',
component: xiaozhan
}
],
mode:'history',
activeClass:"active"
})
害 这件事情告诉我们一时的不在意导致了后面代码的错误 而且还有可能发现不了 要认真啊!!!
后附一张成功显示的图片: 
这个显示的用户名是App.vue下的用户按钮中拼接的userid(记得使用v-bind拼) yeah!
|