在vue-router

时间:2017-11-06 23:20:42

标签: vue.js vuejs2 vue-router

我正在尝试动态传递数据以设置vue-router的基础。是否可以在其他地方设置一个传递基本名称变量的单独函数?例如,如果编辑想通过CMS设置基本名称,我想要一种方法来传递(或导入)该名称。

// router/index.js

export default new VueRouter({
base: '[PASS BASE NAME HERE]',
routes: [
  {
    path: '/',
    name: 'Home',
    component: Home
  },
  {
    path: '/contact',
    name: 'Contact',
    component: Contact
  }
],
mode: 'history'
})

1 个答案:

答案 0 :(得分:1)

我最终在我的index.html上设置了一个变量并将其导入路由器。这也可以通过从模块js文件导入变量来完成,但在html上设置它似乎可以避免构建问题。比我想象的更简单的解决方案,谢谢@lamelemon。

// index.html

    var serializedModel = @Html.Raw(Model.Serialized());


// router/index.js

    var baseUrl = serializedModel.BaseUrl;

    export default new VueRouter({
      base: baseUrl,
      mode: 'history',
      routes: [{...}]
    })