路由传参问题
来源:5-6 vue-router(路由嵌套)

英姿飒爽豆腐块
2017-11-03
<router-link to="{path:'Apple',param:{color:'red'}}">go to apple</router-link> 然后我在js里是这样写的 const Apple = { template: '<div>i am a apple{{$route.params.color}}</div>'} let router = new VRouter({ mode: 'history', routes : [ { path: '/apple/:color', component: Apple }, { path: '/banana', component: Banana } ] }) 可是打开网页点击apple的时候apple无法跳转,URL变成了http://localhost:9000/%7Bpath:'Apple',param:%7Bcolor:'red'%7D%7D
是哪里写错了还是漏写吗?
写回答
1回答
-
你这里有几个错误,
to应该写成:to, 后面的参数才会解析成对象,你现在这样后面的内容被当做字符串解析直接放在url后面了
path区分大小写严格对应apple 不能写成Apple
param只在具名路由下生效, 所以routes要设置name,跳转的时候要通过name跳转,不能通过path
如果不用具名路由,你可以使用query传参
012017-11-06
相似问题