我的服務第一次運作良好。當它再次被調用時,它不起作用。我在NgModule如何在一個組件中訂閱Angular 2中的服務幾次?
服務這裏是我的代碼
this._portService.getPortList().subscribe(
(data) => {
this.len = data['interfaces-state'].length;
for (this.i = 0; this.i<this.len;this.i++){
this.portListJson.push(data['interfaces-state'][this.i].interface);
}
this.removeONUPorts();
this.addNames();
});
我的構造
constructor(private _portService:PortsService, private elRef: ElementRef){
}
當我嘗試調用不同的功能不起作用相同的代碼。
我的服務
getPortList(){
return this._http.get(environment.api + "restconf/data/ietf-interfaces:interfaces-state/interface?fields=")
.map(response => response.json());
};
我的第二個電話
setONUList(port: Port){
this.clearLists();
this._portService.getPortList().subscribe(
(data) => {
this.len = data['interfaces-state'].length;
for (this.i = 0; this.i<this.len;this.i++){
this.portListJson.push(data['interfaces-state'][this.i].interface);
}
this.removeONUPorts();
this.addNames();
});
}
更新問題與您的第二次訂閱現在它似乎很好 –
你是否在getPortList()中調用正確的URL。您可以查看通過安裝返回的數據。像嘗試這樣來檢查:'getPortList(){ 返回this._http.get(environment.api +「restconf/data/ietf-interfaces:interfaces-state/interface?fields =」) .map(response => response 。上傳.json())做(數據=>的console.log(JSON.stringify(數據))); };' –
我做了,它不訂閱。在調試時跳過那部分 – Erad