{
    path: 'contacto-new-from-a',
    component: ContactoPopupComponent,
    outlet: 'popup'
},    {
    path: 'contacto-new-from-b',
    component: ContactoPopupComponent,
    outlet: 'popup'
},根据执行该组件的原始视图,我希望对同一个组件有两种不同的行为。
在目标组件中,我有一些了解源路径的方法。
谢谢。
发布于 2018-01-29 06:46:49
if(this.route.snapshot.url[0].path === 'contacto-new-from-cliente') {
      this.fromCliente = true;
}发布于 2018-01-26 12:01:03
虽然检查URL是一种可行的方法,但我认为识别路由的最可维护和最容易出错的方法是通过路由传递一个固定的令牌值。
在您的路线定义中,请做:
{
   path: 'contacto-new-from-a',
   component: ContactoPopupComponent,
   outlet: 'popup',
   data: {
     token: 'routeA'
   }
},    
{
   path: 'contacto-new-from-b',
   component: ContactoPopupComponent,
   outlet: 'popup',
   data: {
     token: 'routeB'
   }
}在您的组件中
constructor(private route:ActivatedRoute, ...) {}
ngOnInit() {
    this.route.data.subscribe((data:{token:string}) => {
         switch(data.token) {
             case 'routeA':
                   // Your logic
                   ....;
             case 'routeB':
                   // Your logic
                   ....;
         }
    });
}请注意,当组件未被破坏时,这也适用于路由更改(例如从contacto-new-from-a导航到contacto-new-from-b)。
发布于 2018-01-26 11:50:42
  this.siteUrl = window.location.href;
  this.isBSite= this.siteUrl.indexOf('contacto-new-from-b') !== -1;这是一个检查您所使用的URL的黑客
或者这个
this.activatedRoute.snapshot.url.toString().indexOf('contacto-new-from-b') !== -1;但是您需要添加导入
import {ActivatedRoute, Router} from '@angular/router';https://stackoverflow.com/questions/48460475
复制相似问题