forms - Angular. Truyền tham số từ component sang service
Tôi cảm thấy đây là một tình huống thích hợp để hỏi điều này và tôi đã đọc, vì vậy xin đừng chỉ trích tôi. (Các câu hỏi "Có phải thực hành tốt không...?" có bị coi là ngoài chủ đề hoặc dựa trên ý kiến không?)
CÂU HỎI CỦA TÔI: Phương án thay thế (thực hành tốt hơn) để truyền một tham số từ component.ts sang service.ts mà sẽ được sử dụng để định nghĩa URL là gì. (ví dụ: giá trị tham số =123, URL: www.blogs.com/posts/"thêm tham số ở đây")
Bối cảnh: Một biểu mẫu của người dùng có một trường tên và một trường mã bưu điện. Dựa trên mã bưu điện của người dùng, họ sẽ thấy các Nhà cung cấp khác nhau. Những gì tôi đã làm là lấy giá trị mã bưu điện từ biểu mẫu và truyền nó từ hàm này sang hàm khác đến service.ts. Từ đó, tôi chỉ cần thêm giá trị đó vào chuỗi URL ví dụ... người dùng 1, mã bưu điện =12345 zip= user.zipcode data_service=url="www.blog.com/post/+ val" + zip
. Vì vậy điều này hoạt động, nhưng tôi cảm thấy đây là một thói quen thực hành không tốt.
:MÃ
component.ts
(phần này bắt đầu từ mã tải thông tin người dùng)
...
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);
};
}
Câu trả lời #1
Bạn có thể sử dụng Named Routes và một số lớp tĩnh trợ giúp để sử dụng nó dễ dàng.