在 vue-router 中动态设置 base
Dynamically set base in 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-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: [{...}]
})