首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >知道角5的原点路径

知道角5的原点路径
EN

Stack Overflow用户
提问于 2018-01-26 11:29:08
回答 3查看 252关注 0票数 0
代码语言:javascript
运行
复制
{
    path: 'contacto-new-from-a',
    component: ContactoPopupComponent,
    outlet: 'popup'
},    {
    path: 'contacto-new-from-b',
    component: ContactoPopupComponent,
    outlet: 'popup'
},

根据执行该组件的原始视图,我希望对同一个组件有两种不同的行为。

在目标组件中,我有一些了解源路径的方法。

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-01-29 06:46:49

代码语言:javascript
运行
复制
if(this.route.snapshot.url[0].path === 'contacto-new-from-cliente') {
      this.fromCliente = true;
}
票数 0
EN

Stack Overflow用户

发布于 2018-01-26 12:01:03

虽然检查URL是一种可行的方法,但我认为识别路由的最可维护和最容易出错的方法是通过路由传递一个固定的令牌值。

在您的路线定义中,请做:

代码语言:javascript
运行
复制
{
   path: 'contacto-new-from-a',
   component: ContactoPopupComponent,
   outlet: 'popup',
   data: {
     token: 'routeA'
   }
},    
{
   path: 'contacto-new-from-b',
   component: ContactoPopupComponent,
   outlet: 'popup',
   data: {
     token: 'routeB'
   }
}

在您的组件中

代码语言:javascript
运行
复制
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)。

票数 1
EN

Stack Overflow用户

发布于 2018-01-26 11:50:42

代码语言:javascript
运行
复制
  this.siteUrl = window.location.href;
  this.isBSite= this.siteUrl.indexOf('contacto-new-from-b') !== -1;

这是一个检查您所使用的URL的黑客

或者这个

代码语言:javascript
运行
复制
this.activatedRoute.snapshot.url.toString().indexOf('contacto-new-from-b') !== -1;

但是您需要添加导入

代码语言:javascript
运行
复制
import {ActivatedRoute, Router} from '@angular/router';
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48460475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档