Angular - добавление цели к маршрутизатору - PullRequest
0 голосов
/ 02 декабря 2018

То, что я хочу сделать, это открыть цель навигации по маршрутизатору в другой вкладке или во всплывающем окне.Моя инструкция такова:

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>

Ответы [ 2 ]

0 голосов
/ 02 декабря 2018

Для перенаправления вручную сначала необходимо создать URL-адрес для перенаправления с использованием метода createUrlTree, а затем перенаправить.

let url = this.router.createUrlTree(['/page', id])
window.open(url.toString(), '_blank')

Декларативная навигация также может работать.

<a target="_blank" [routerLink]=['/page', id]> Link</a>
0 голосов
/ 02 декабря 2018

Angular не поддерживает переход на новую вкладку, вы можете использовать window.open, чтобы сделать это

window.open(url, '_blank');
...