我觉得这是一个适当的情况要问这个并且我已经读过了,所以请不要打击我。 (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);
};
}
答案 0 :(得分:1)
您可以使用命名路由和一些辅助静态类来轻松使用它。