返回

当从MVC区域为angular提供服务时,如何防止@angular/router重写整个基本URL?

发布时间:2022-07-12 15:33:24 238
# chrome-devtools

我有一个我称之为“服务项目”的东西,我试图将它打包成一个 nuget 包,该包使用 Angular 作为其网站 UI。

这个包包含一个名为“Admin”的 MVC 区域和一些控制器,如下所示: 在此处输入图像描述

我有零问题让这个加载角度应用程序。我正在做的是构建 angular 应用程序,将 dist 文件夹复制到 wwwroot 目录中,并且我有一个 CSHTML 文件以与 index.html 文件相同的方式加载所有内容。我只是使用 MVC 作为工具来预先打包其他项目(例如 API 和其他后端服务行为)并使用 Angular 管理 CRUD 项目来配置所述后端。打包它,并允许它安装到另一个团队使用的另一个 MVC 应用程序中。(这部分工作正常,不是问题,只是 URL 重写导致问题)。

用户转到“https://base.domain.com/Admin”,我的 Angular 应用程序加载并运行。问题是,当加载 Angular 应用程序时,它会将我的 URL 更改为https://base.domain.com/#/home而没有首先使用 /Admin,因此整页刷新会将它们带到不应该去的地方。

从 /Admin 加载 Angular 应用程序:

以及 Angular 完成初始化并显示其 UI 后的完整 URL

当我的角度应用程序加载时,我如何确保它只重写 # 之后的所有内容(无论如何,这是角度路由器唯一关注的部分)?我的期望是加载的角度应用程序的 URL 是:https ://base.domain.com/Admin/#/home

角包:

{

 "@angular/animations": "12.2.3",

 "@angular/cdk": "12.2.3",

 "@angular/common": "12.2.3",

 "@angular/compiler": "12.2.3",

 "@angular/core": "12.2.3",

 "@angular/forms": "12.2.3",

 "@angular/material": "12.2.3",

 "@angular/material-moment-adapter": "12.2.3",

 "@angular/platform-browser": "12.2.3",

 "@angular/platform-browser-dynamic": "12.2.3",

 "@angular/router": "12.2.3",

}

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像