私がしたいことは、別のタブまたはポップアップでルーターのナビゲートのターゲットを開くことです。私の指示はこれです:
private router: Router;
this.router.navigate(['/page', id]);
ルーティングで私は持っています:
const routes: Routes = [
{
path: '',
component: LayoutComponent,
children: [
{ path: 'page', loadChildren: './page/page.module#PageModule' }
]
}
];
このリンクを別のタブまたはポップアップウィンドウで開きます。私に何ができる?
これはpage.tsのコードです
@Component({
selector: 'app-etichetta',
templateUrl: './page.component.html',
styleUrls: ['./page.component.scss'],
animations: [routerTransition()]
})
export class PageComponent implements OnInit {
constructor(private router: Router,
private route: ActivatedRoute,
public appService: AppService) {
}
ngOnInit() {
}
}
そしてこれはhtmlです:
<div [@routerTransition]>
<br>
<div class="row">
</div>
</div>
手動でリダイレクトするには、最初にcreateUrlTree
メソッドを使用してリダイレクト先のURLを作成し、次にリダイレクトする必要があります。
let url = this.router.createUrlTree(['/page', id])
window.open(url.toString(), '_blank')
宣言型ナビゲーションも機能します。
<a target="_blank" [routerLink]=['/page', id]> Link</a>
Angularは新しいタブへのナビゲートをサポートしていません。これを行うにはwindow.openを使用できます
window.open(url, '_blank');