js文件里获取路由 vue_vue.js – vue-router 2,如何通过ajax获取路由?

我不相信没有.

这就是说你可以通过通配符路线,这样可以为你提供另一种选择.

我建立了一个网站,后端(以及创建的页面)通过CMS控制,后者将所有页面作为JSON提供给Vue.这意味着Vue不知道后端正在创建的路由.

相反,我们通过单个*通配符组件将所有CMS页面传递给Vue Router.在Vue Router 2中,这看起来像:

const routes = [

{ path: '*', component: AllPages }

]

这些允许您设置各种条件,因此,虽然您不能将通过ajax传回的对象注入路由器,但您可以将动态组件添加到通配符匹配的AllPages组件.这将允许您通过ajax请求传递要加载的组件的名称,然后在调用页面时加载该组件.即

您的Ajax响应:

{

// url: component name

'/about/': 'about',

'/about/contact/': 'contact',

...

}

然后在AllPages vue组件中:

module.exports = {

data () {

return {

currentView: '',

ajaxRoutes: {}, // loaded via ajax GET request

...

}

},

// watch $route to detect page requests

watch: {

'$route' (to, from) {

if (this.ajaxRoutes[to]) {

this.currentView = this.ajaxRoutes[to]

}

}

},

...

}

以上是一个相当简短的想法,但基本上您可以根据用户请求的路径动态加载组件.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值