要在Angular 7中不使用指令重定向到外部URL,您可以使用Angular的Router模块和window对象的location属性来实现。
以下是一个示例代码,演示如何在Angular 7中重定向到外部URL:
external-redirect.component.ts:
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
@Component({
selector: 'app-external-redirect',
template: '',
styleUrls: []
})
export class ExternalRedirectComponent implements OnInit {
constructor(private router: Router) { }
ngOnInit() {
// 重定向到外部URL
window.location.href = 'https://example.com';
// 或者使用下面的代码重定向到外部URL
// window.location.replace('https://example.com');
// 使用Angular的Router模块进行内部路由重定向
// this.router.navigateByUrl('/internal-route');
}
}
app-routing.module.ts:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { ExternalRedirectComponent } from './external-redirect.component';
const routes: Routes = [
{ path: 'external-redirect', component: ExternalRedirectComponent }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
import { Router } from '@angular/router';
constructor(private router: Router) { }
// 触发重定向
this.router.navigateByUrl('/external-redirect');
这样,当您导航到'/external-redirect'路径时,Angular将加载ExternalRedirectComponent组件,并在ngOnInit方法中执行重定向到外部URL的代码。