vue.js - 设置从 MVC 和内部 Vue.js Spa 到 webroot 的路由,从 URL 隐藏控制器名称
问题描述
我正在尝试路由一个控制器/操作,它将我的 Vue.js 应用程序返回到 webroot,因此 URL 隐藏了控制器名称。
我目前的路线:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=MySpaController}/{action=Index}/{id?}");
routes.MapSpaFallbackRoute(
name: "spa-fallback",
defaults: new { controller = "MySpaController", action = "Index" });
});
导航到http://localhost/路由到正确的 root/home 操作并返回 vue.js spa 应用程序。但是浏览器中的 URL 更改为http://localhost/MySpaController。如果我尝试在没有 MySpaController 部分的情况下导航到应用程序中的任何路由,则请求被外部路由,并且再次调用http://localhost/MySpaController/Index操作。
我想从 url 中隐藏控制器名称。
解决方案
在 Vue Router 中确保 base 设置为“/”,如:
let router = new VueRouter({
base: '/',
mode: 'history',
linkActiveClass: "active",
routes
})
推荐阅读
- node.js - 将 EJS 页面的一部分下载为 PDF 文件
- dart - 从带有 pub 的项目中运行 lib 的 lib 构建
- javascript - 如何通过 jasmine 在业力前端测试中包含 HTML 文件
- javascript - 在 Node 中,如何从全局数据库连接执行 sql
- python - 算法工程课程的 Python 问题
- python - Python argparse,位置参数后的值
- ruby-on-rails - 在 SimpleForm 中使用 ruby on rails 计算字段
- bash - 如何在 Expect 脚本中制作常量?
- iot - 如何在 ThingsBoard Dashboard 中增加绘图间隔
- javascript - ajax 功能在第二次点击后启动