2016-05-06 13 views
0

Ich habe eine JSON-Datei wie untenzu holen Daten aus JSON-Datei in Polymer

{ 
    "23": { 
     "id": 23, 
     "featured": true, 
     "name": "Dawid Ostrowski", 
     "title": "Developer Relations Program Manager", 
     "company": "Google", 
     "country": "Switzerland", 
     "photoUrl": "/images/people/dawid_ostrowski.jpg",    
    }, 
    "9": { 
     "id": 9, 
     "featured": true, 
     "name": "Mandy Waite", 
     "title": "Developer Relations Engineer", 
     "company": "Google", 
     "country": "UK", 
    }, 
    "15": { 
     "id": 15, 
     "featured": true, 
     "name": "Jakub Škvára", 
     "title": "Frontend engineer", 
     "company": "Shipito", 
     "country": "Czech Republic", 
     "photoUrl": "/images/people/jakub_skvara.jpg", 
    }, 
    "14": { 
     "id": 14, 
     "name": "Jana Moudrá", 
     "title": "Co-Founder", 
     "company": "Juicymo", 
     "country": "Czech Republic", 
     "photoUrl": "/images/people/jana_moudra.jpg" 
    } 
} 

Ich möchte alle Daten eines bestimmten id in Polymer erhalten. Wenn jemand example.com/user/23 besucht, möchte ich die Daten von 23 bekommen, damit ich eine Seite mit den Daten anzeigen kann.

Wie mache ich das in Polymer?

Antwort

0

Angenommen, Sie haben nur eine statische .json-Datei und keine API, um JSON-Zeichenfolgen basierend auf Abfrageparametern selektiv zurückzugeben, können Sie Folgendes tun.

Implementieren Sie die folgende Methode auf Ihrem Element Polymer:

getEntryById: function (id) { 
    return this.queryResult[id]; 
} 

Verwendung Polymers iron-ajax Element und binden das lastResponse Eigenschaft dieses Elements queryResult auf dem neuen Element und die requestUrl Eigentum an den Ort Ihrer .json Datei.

Natürlich benötigen Sie eine Art clientseitigen Router (wie Page.js, in Polymer Starter Kit enthalten), der die Route und Route-Parameter (die Benutzer-ID) aus der URL liest und an Ihr Polymer-Element, also Sie können die getEntryById Funktion entsprechend aufrufen.