gpt4 book ai didi

Angular 4/5 - 动态更改基本 href

转载 作者:太空狗 更新时间:2023-10-29 17:56:25 26 4
gpt4 key购买 nike

我正在开发一个带有 Ex URL 的 Multi-Tenancy 应用程序:“https://example.com/ {portalID}/Login”,其中 portalID 将客户更改为客户。所以初始登录看起来像这样。
https://example.com/portalId/Login
在登录页面中,我有一个文本框和一个按钮。所以文本框接受 portalId 和 onclick,我想在不重新加载页面的情况下更改 URL 中的 portalId

代码:

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { APP_BASE_HREF, Location } from '@angular/common';

import { AppComponent } from './';
import { getBaseLocation } from './shared/common-functions.util';

@NgModule({
declarations: [AppComponent],
imports: [
BrowserModule,
HttpModule,
],
bootstrap: [AppComponent],
providers: [
appRoutingProviders,
{
provide: APP_BASE_HREF,
useFactory: getBaseLocation
},
]
})
export class AppModule { }

export function getBaseLocation() {
let basePath = sessionStorage.getItem('portalId') || 'portalId'; // Default
return '/' + basePath;
}

在生产构建中,我将 portalID 设置为基本 href 的一部分。现在使用测试框我想覆盖值。

对于客户 1:所以初始 URL 是 https://example.com/portalId/Login ”。当我在文本框中输入任何数字时,URL 应更改为例如:https://example.com/21/Login我存储在 session 存储中的门户和 JWT token 。登录成功后,每个路由都必须有portalID。像这样的东西 https://example.com/21/home

对于 Client2:在新窗口中(现在 PortalId 是 45)网址是 https://example.com/45/Login这里还将 portalID 和 JWT token 保存在 session 存储中。登录成功后,每个路由都必须有portalID。像这样的东西 https://example.com/45/home

最佳答案

这必须使用路由来完成。按照本教程进行操作:https://www.learnhowtoprogram.com/javascript/angular-extended/dynamic-routing-navigation .您必须在代码中设置要导航到的路线。例子: this.router.navigate([**DyanamicPortalID**, 'Login']);

关于Angular 4/5 - 动态更改基本 href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50226034/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com