如何允许某些URL使用角度并从中收集数据

时间:2020-01-09 18:13:43

标签: angular

我正在尝试为我的有角度的网站设置推荐系统。我的网站目前是可通过localhost:4200访问的一个组件。我希望用户能够在访问网站时使用推荐代码,所以请考虑使用“ localhost:4200 / r / h7Gt4p”。

当有人导航到带有引荐标签的URL时,如何获取我的角度页面以加载主要组件中的内容。另外,我该如何从打字稿文件中的URL中获取引用参数?

我非常感谢您提供的所有帮助。谢谢!

2 个答案:

答案 0 :(得分:2)

我建议如下创建一个新的ReferralComponent

@Component({
  selector: 'app-referral',
  templateUrl: './referral.component.html',
  styleUrls: ['./referral.component.css']
})
export class ReferralComponent implements OnInit {

  constructor(private route: ActivatedRoute, private router: Router) { }

  ngOnInit() {
    const code = this.route.snapshot.paramMap.get('code');
    // Process your code here. Then redirect
    this.router.navigate(['']);
  }
}

然后为您的应用配置路由:

const routes: Routes = [
  {
    path: 'r/:code',
    component: ReferralComponent
  },
  {
    path: '',
    redirectTo: 'home',
    pathMatch: 'full'
  },
  {
    path: 'home',
    component: HelloComponent
  }
]

在此处查找正在运行的示例:https://angular-app-initial-route.stackblitz.io/r/h7Gt4p

打开浏览器的控制台以查看捕获的代码。希望对您有所帮助!

答案 1 :(得分:1)

首先,您应该设置一个新的路由路径,更多有关此内容(here)。我会推荐类似的东西

{ path: 'r/:refId', component: ReferralComponent }

这还需要您创建一个ReferralComponent,从中可以处理ID。使用组件内部的路由器,如果我没有记错的话,可以使用router.url [0]从URL中获取参数。不过,我可能会误解了您的问题,如果是这样,请更具体一些,我会尝试提供更多帮助。