vue-router应用于组件内时的矛盾怎么解决
展开全部
我使用的是vue-cli构建的项目,它结合了webpack可以很方便地使用.vue的单文件组件,非常方便,现在想使用vue-router来做前端路由及组件切换,目前是在html中引用了入口js,入口js的用途是引用根组件App.vue,我希望在App.vue里面使用vue-router,于是在App.vue文件的template标签内加入了<router-view></router-view>,template标签内容如下:
<template>
<div id="app">
<div class="main">
<router-view></router-view>
</div>
</div>
</template>
遇到的问题是:
1、如果在App.vue组件ready之前使用Vue.use(VueRouter),在ready后使用router.start(App_body, '#app'),那么会报错“[vue-router] <router-view> can only be used inside a router-enabled app.”我猜测是因为App.vue组件并未编译完成,自然在template里面的<router-view></router-view>就找不到了,所以在ready之前注册vue-router报这个错。
2、如果在组件ready后使用Vue.use(VueRouter)和router.start(App_body, '#app'),那么会报错“[Vue warn]: Unknown custom element: <router-view> – did you register the component correctlyhttp://www.toprealgroup.com/web/? For recursive components, make sure to provide the "name" option.”我猜测是因为App.vue组件ready之前,发现template中有<router-view></router-view>组件,而这个组件还没有被注册
<template>
<div id="app">
<div class="main">
<router-view></router-view>
</div>
</div>
</template>
遇到的问题是:
1、如果在App.vue组件ready之前使用Vue.use(VueRouter),在ready后使用router.start(App_body, '#app'),那么会报错“[vue-router] <router-view> can only be used inside a router-enabled app.”我猜测是因为App.vue组件并未编译完成,自然在template里面的<router-view></router-view>就找不到了,所以在ready之前注册vue-router报这个错。
2、如果在组件ready后使用Vue.use(VueRouter)和router.start(App_body, '#app'),那么会报错“[Vue warn]: Unknown custom element: <router-view> – did you register the component correctlyhttp://www.toprealgroup.com/web/? For recursive components, make sure to provide the "name" option.”我猜测是因为App.vue组件ready之前,发现template中有<router-view></router-view>组件,而这个组件还没有被注册
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-12-21 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
先是入口点 main.js
import App from './components/App.vue'
router.start(App, '#app')
然后在App.vue 也就是根组件里面声明router-view
<router-view class="view" keep-alive transition transition-mode="out-in"> </router-view>
import App from './components/App.vue'
router.start(App, '#app')
然后在App.vue 也就是根组件里面声明router-view
<router-view class="view" keep-alive transition transition-mode="out-in"> </router-view>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |