vue.js - 在 vue-router 中动态设置基础

标签 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'
})

最佳答案

我最终在我的 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: [{...}]
    })

关于vue.js - 在 vue-router 中动态设置基础,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47147487/

相关文章:

javascript - Vue 3 为每个 child 添加包装器

php - 如何从 Vue 对 Laravel 执行批量删除?

javascript - 手动将全局注册的 Vue 组件挂载到遗留应用程序中?

javascript - VueJS router-link ctrl+click 带有标签元素的链接

internet-explorer - Vue.js 严格模式下不允许多个属性定义

javascript - Vuex 状态和 vue-router

javascript - vue js中的嵌套数组总计

javascript - 我可以在过滤方法中使用变量吗?

vue.js - Vuex - 哪些数据应该流经商店?

javascript - 我可以在 Vue.Js 的计算属性中传递参数吗