为了账号安全,请及时绑定邮箱和手机立即绑定

请教各位一个问题,求解答:vue命名视图问题跪求!

请教各位一个问题,求解答:vue命名视图问题跪求!

蝴蝶不菲 2019-09-05 20:10:05
问题描述请问一个组件内部引用了命名视图,在index.js中定义了这个命名视图的router,为什么命名视图显示不出来呢?浏览器访问的是http://localhost:8080/#/test问题出现的环境背景及自己尝试过哪些方法相关代码//请把代码文本粘贴到下方(请勿用图片代替代码)index.jsimportVuefrom'vue'importRouterfrom'vue-router'importHelloWorldfrom'@/components/HelloWorld'importtestfrom'@/components/test1'Vue.use(Router)exportdefaultnewRouter({routes:[{path:'/',name:'HelloWorld',component:HelloWorld},{path:'/test',name:'test',components:{default:test,hello:HelloWorld}}]})test1.vue123你期待的结果是什么?实际看到的错误信息又是什么?期待的结果是页面显示123和HelloWorld.vue文件的内容
查看完整描述

2 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

在test1里写的router-view展示的是test1的子路由,你并没有给test1配置children你配置的是在/test这个路由下有两个组件test和HelloWorld,他俩要一起展示,应该写一起你可以这么写尝试一下,梳理一下关系
App.vue
router/index.js
importVuefrom'vue'
importRouterfrom'vue-router'
importHelloWorldfrom'@/components/HelloWorld'
importtestfrom'@/components/test1'
//这个是test子路由的组件
importtestChildfrom'@/components/testChild'
Vue.use(Router)
exportdefaultnewRouter({
routes:[
{
path:'/',
name:'HelloWorld',
component:HelloWorld
},
{
path:'/test',
name:'test',
components:{
default:test,
hello:HelloWorld
},
children:[
{
path:'testChild',
component:testChild
}
]
}
]
})
test1.vue
testChild.vue
这样在/根路由就显示HelloWorld组件,在/test路由下显示test和HelloWorld组件(他俩是兄弟),在/test/testChild路由下testChild会在test里(他俩是父子)
                            
查看完整回答
反对 回复 2019-09-05
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

进入到你所说的路径首先匹配的是根路径,显示的将会是HelloWorld.vue组件中的内容,可以贴一下该组件中有没有提供对应的路由出口。
发现上面不是嵌套路由,那么按照需求要显示的话,需要在根模板中提供路由出口。
                            
查看完整回答
反对 回复 2019-09-05
  • 2 回答
  • 0 关注
  • 208 浏览
慕课专栏
更多

添加回答

了解更多

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信