Angular 有棱角的将参数从组件传递到服务

Angular 有棱角的将参数从组件传递到服务,angular,forms,typescript,Angular,Forms,Typescript,我觉得这是一个适当的情况下问这个问题,我已经读过,所以请不要抨击我。 () 我的问题:将参数从component.ts传递到service.ts(用于定义URL)的替代方法(更好的做法)是什么。(例如,param value=123,URL:www.blogs.com/posts/“在此处添加参数”) 背景:用户表单有一个名称字段和zipcode字段。根据用户的zipcode,他们将看到不同的提供者。我所做的是从表单中获取zipcode值,并将其从一个函数传递到下一个函数,再传递到service

我觉得这是一个适当的情况下问这个问题,我已经读过,所以请不要抨击我。 ()

我的问题:将参数从component.ts传递到service.ts(用于定义URL)的替代方法(更好的做法)是什么。(例如,param value=123,URL:www.blogs.com/posts/“在此处添加参数”)

背景:用户表单有一个名称字段和zipcode字段。根据用户的zipcode,他们将看到不同的提供者。我所做的是从表单中获取zipcode值,并将其从一个函数传递到下一个函数,再传递到service.ts。从那里只是增加了该值的URL字符串的ex。。。用户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);
});
};

服务台

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


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

格式化代码是一种很好的做法。感谢您的帮助!Helper静态类是我甚至没有想到的!谢谢你!谢谢