2017-08-13 2 views
0

empty data table i Bahnkomponente Eisen ajax bin mit REST-API-Aufruf nach diesem tutorial http://frontendinsights.com/polymer-rest-api-using-iron-ajax/ ich diese Daten am Abrufen machen und zum Speichern Predix Datentabelle unter Verwendung der abgerufenen Daten von api auf ui zeigen Datentabelle unter Verwendung https://www.predix-ui.com/#/components/px-data-table/ welche die Daten im JSON-Format grundsätzlich akzeptiert.Polymer Rast Api nicht funktionierend

<link rel="import" href="../../bower_components/polymer/polymer.html"> 
<link rel="import" href="../../bower_components/iron-ajax/iron- 
ajax.html"> 
<link rel="import" href="../../bower_components/px-data-table/px-data- 
table.html"> 
<dom-module id="show-repositories"> 
<template> 

    <px-data-table 
    table-data="{{githubrepository}}" 
    language="en" 
    sortable> 
    <px-data-table-column name="repository"></px-data-table-column> 
    <px-data-table-column name="id" label="id"></px-data-table-column> 
    </px-data-table> 

    Repositories: 
    <span>{{githubrepository}}</span> 
    <span>{{repos}}</span> 

    <iron-ajax 
     id="requestRepos" 
     url="https://api.github.com/users/burczu/repos" 
     params='{"type":"all"}' 
     handle-as="json" 
     on-response="handleResponse"> 
    </iron-ajax> 
</template> 

<script> 
    Polymer({ 
     is: 'show-repositories', 
     properties: { 
      repos: { 
       type: Array 
      }, 
      githubrepository:{ 
       type: Array 
      } 

     }, 
     ready: function() { 
      this.$.requestRepos.generateRequest(); 

     }, 
     handleResponse: function (data) { 
      this.repos = data.detail.response; 

      for (var i = 0; i < this.repos.length; i++) { 
       this.githubrepository[i] = {"id":this.repos[i].id,"name":this.repos[i].name} 
      } 

      console.log(this.repos); 
      console.log(this.githubrepository); 
     } 


    }); 
</script> 

beide Konsolenprotokolle zeigen Daten json-Format ist, aber wenn ich verwende {{repos}} seine Daten in ihm enthaltenen zeigt aber, wenn ich verwende {{githubrepository}} seine nicht angezeigt Die Daten, auch wenn ich die Daten nicht mit prredix webcomponent ausdrucken kann. Ich kann nicht abschätzen, was hier falsch läuft?

Antwort

0

Ändern Sie Ihre js.

handleResponse: function (data) { 
    this.repos = data.detail.response; 

    var githubrepository = []; 
    for (var i = 0; i < this.repos.length; i++) { 
     githubrepository[i] = {"id":this.repos[i].id,"name":this.repos[i].name} 
    } 
    this.githubrepository = githubrepository; 

    console.log(this.repos); 
    console.log(this.githubrepository); 
} 
+0

großartig, es hat funktioniert, können Sie mir erklären, wie? – shashank

+0

this.githubrepository sollte auch außerhalb der Funktion zugänglich sein? – shashank

+0

https://www.polymer-project.org/2.0/docs/devguide/data-system#observable-changes –

Verwandte Themen