我需要为每个页面创建不同的解析器。每个页面都有不同的API调用。角度2+

时间:2018-06-29 11:39:54

标签: angular angular4-router angular-resolver

  1. 我确实有多个页面,每个页面都有不同的API调用。那我需要为每个页面创建不同的解析器吗?
    1. 我可以在不添加新服务的情况下对主服务实施解析吗?

我这样写了resole服务

resolve(route: ActivatedRouteSnapshot, rstate: RouterStateSnapshot): Observable <any>{

      return this.http.get(''+this.webAPI+'getproducts', {
        headers: {
          "Authorization": "Token " + this.token,
        },
        withCredentials: true
      }
      );
    }

我的构造函数里面是

this.actr.data.map(data => data.cres ).subscribe((response) =>{
      console.log("reas", response)
})

1 个答案:

答案 0 :(得分:0)

您需要创建一个服务。

请阅读Angular教程。

https://angular.io/tutorial/toh-pt4

创建一个名为“ DataService”的服务。然后创建一些功能,例如

public getProducts(): Observable<any>{
    this.http.get(...)
}

将此服务添加到模块的提供者部分。

然后将服务“导入”到Component构造函数中。

现在,如果您需要再次使用此服务,则不必在所有组件中“复制粘贴”逻辑。