角。将参数从组件传递到服务

时间:2018-05-16 21:00:55

标签: angular forms typescript

我觉得这是一个适当的情况要问这个并且我已经读过了,所以请不要打击我。 (Are "Is it a good practice...?" questions off topic or opinion-based?

我的问题:将参数从component.ts传递到用于定义URL的service.ts的替代方法(更好的做法)是什么? (例如param value = 123,URL:www.blogs.com/posts/"add params here“)

背景:用户表单有一个名称字段和一个zipcode字段。根据用户的邮政编码,他们会看到不同的提供商。我所做的是从表单中获取zipcode值并将其从一个函数传递到下一个函数到service.ts。从那里只是将该值添加到URL字符串ex ... user 1,zipcode = 12345 zip = user.zipcode data_service = url =“www.blog.com/post/+ val”+ zip

。所以这有效,但我觉得这是一个不好的做法。

:代码
component.ts
(这部分从加载用户信息的代码开始)
         ......

     const zipParam = this.patientDetails.patient_zipcode
        console.log(zipParam)
      this.getProvider(zipParam);
      }
      }, err => {
      console.log(err);
      });
      }


   getProvider(zip){
    console.log("fZip:",zip)
    this.reqObj.zip = zip
     this.dss.getProvider(this.reqObj,zip).subscribe(res => {
      console.log("Checkres",res);
     this.serviceProvider = res
     }, err =>{
  console.log(err);
});
};


Service.ts

      getProvider(reqObj,zip): Observable<Object>{
      console.log("dZip",zip)
      return this.http.get("https://blog.com"+ zip + "&radius=1").map(res => res); 
       };
       }


1 个答案:

答案 0 :(得分:1)

您可以使用命名路由和一些辅助静态类来轻松使用它。