如何使用查询参数路径渲染angular4 universal

时间:2017-08-21 01:38:36

标签: angular webpack universal

我试图将角度1.4迁移到angular4 universal用于搜索引擎优化目的。一切都很好。我有一条路线。

注册后确认电子邮件 http://localhost/confirmEmail/09393?code=' XXXXXXXXX'

ngOnInit() {

    let param_id = this.route.snapshot.params['id'];
    let param_code = this.route.snapshot.queryParams['code'];
    this.message = '';

    this.authService.getConfirmation(param_id, param_code)
        .subscribe(
            data => {
              this.router.navigate(['/login']);
            },
            error => {

            }
        );
  }
  1. 看起来它在服务器上呈现并调用rest API getConfirmation。
  2. 一旦在客户端上呈现UI,它就会再次调用getconfirmation。
  3. 有办法吗?我不想调用其余的API服务器端,只需从客户端代码中调用它。

1 个答案:

答案 0 :(得分:0)

这对我有用。

检查全局窗口对象是否存在。然后打电话给rest api确认

ngOnInit(){

  if (typeof window !== 'undefined') {
      let param_id = this.route.snapshot.params['id'];
      let param_code = this.route.snapshot.queryParams['code'];
      this.message = '';
      this.getConfirmation(param_id, param_code);
  }

}