【问题标题】:Angular. Passing Parameters from component to service角。将参数从组件传递到服务
【发布时间】:2018-05-17 05:18:28
【问题描述】:

我觉得这是一个合适的情况提出这个问题,我已经阅读过,所以请不要抨击我。 (Are "Is it a good practice...?" questions off topic or opinion-based?)

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

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

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

:代码
组件.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);
});
};


服务.ts

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


【问题讨论】:

  • 格式化代码是个好习惯。

标签: angular forms typescript


【解决方案1】:

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

【讨论】:

  • 感谢您的帮助! Helper 静态类是我什至没有想到的!
  • 欣赏!谢谢
猜你喜欢
  • 2018-07-08
  • 2017-05-06
  • 2018-06-30
  • 2016-02-27
  • 1970-01-01
  • 1970-01-01
  • 2019-01-21
  • 2019-05-26
  • 2017-07-21
相关资源
最近更新 更多