我正在尝试设置一个 SPA,我可以在其中将数据从我的 appsettings.json 传递到服务器渲染上的客户端。我按照步骤使用新的 SpaServices 模板配置 SSR
https://docs.microsoft.com/en-us/aspnet/core/spa/angular
但是我不明白如何完成此处标记的任务
您可以通过 Angular 支持的任何方式将其传递给应用程序的其他部分
我看到使用的示例是 base_url,但似乎 base 作为 DOM 元素注入页面
<base href='/'>
但目前尚不清楚如何以这种方式阅读其他项目。我正在测试是否通过应用程序是 Https,我的 Startup.cs 中有这一部分
options.SupplyData = (context, data) =>
{
data["isHttpsRequest"] = context.Request.IsHttps;
};
在 main.server.ts
{ provide: 'isHttps', useValue: params.data.isHttpsRequest }
但在 main.ts 中我迷路了,我有这样的东西
export function getBaseUrl() {
return document.getElementsByTagName('base')[0].href;
}
export function getIsHttps() {
// NO idea what needs to go here
return "";
}
const providers = [
{ provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] },
{ provide: 'isHttps', useFactory: getIsHttps, deps: [] }
];
我不确定 SpaServices 如何将 Prerender 上的值注入应用程序(我查看了代码,但我不清楚)。价值是放在窗户上的吗?如何读取值以便可以注入组件的构造函数?