schaffen I mit Winkel 2 eine Anwendung zu erstellen, ich versuche, habe ich einen Dienst, der Daten aus einer API und diesen meinen Code zu holen:, wie eine benutzerdefinierte Funktion für .map rxjs in Winkel 2
import {Http} from "angular2/http";
import {Injectable} from 'angular2/core';
import "rxjs/add/operator/map";
declare var website : any;
declare var jQuery : any;
@Injectable()
export class categoryService{
private _url = website + "/api/category/list";
private category = [];
constructor (private _http : Http){
}
getCategory(){
return this._http.get(this._url)
.map(res => {
this.getEachInCategory(res.result); <==== i want impelement some changes in response
});
}
getEachInCategory(data){
jQuery.each(data, function(index, value) {
var test = [];
jQuery.each(value , function (index2 , value2) {
var obj = {};
obj["name"] = index2;
if(typeof value2["_props"] !== "undefined"){
obj["title"] = value2._props.title;
}
var subs = [];
jQuery.each(value2 , function (index3 , value3) {
var obj_subsub = {};
obj_subsub["name"] = index3;
if(typeof value3["_props"] !== "undefined"){
obj_subsub["title"] = value3._props.title;
}
subs.push(obj_subsub);
});
obj["items"] = subs;
test.push(obj);
});
var item = {};
item["name"] = index ;
item["items"] = test ;
item["title"] = value._props.title;
this.category.push(item);
}.bind(this));
}
}
aber ich habe einen Fehler ( angular2.dev.js: 23925 EXCEPTION: TypeError: Kann Eigenschaft 'Länge' von undefined nicht lesen) Ich möchte wissen, dass mein Code wahr ist, wenn nicht, wie ich eine Funktion erstellen kann, um etwas zu ändern Antwort?
Können Sie uns zeigen, was Sie empfangen Ergebnis? – yurzui
meine Antwort ist ein JSON und Ergebnis ist ein Objekt ... Diese Funktion ist perfekt innerhalb jeder Komponente, die die Antwort reseded aber ich möchte, dass mein Code klar werden ... –
Sie haben keine Nebenwirkung in Ihrer Karte Rückruf Funktion – yurzui