2016-05-15 7 views
1

Ich möchte eine JSON-Datei lesen, die lokal in meinem System, in meinem Polymerelement vorhanden ist. Derzeit habe ich die JSON-Struktur in Task-Eigenschaft meines Elements (als ersten Schritt). Ich verwende 'Dom-Repeat', um durch den JSON zu analysieren. Aber immer noch nichts in der Ausgabe sehen.Lesen einer lokalen JSON-Datei in Polymer 1.0

<ul> 
    <template is="dom-repeat" items="{{items}}"> 
    <li><span>{{item}}</span></li> 
    </template> 
    <template is="dom-repeat" tasks="{{task}}"> 
    <li><span>{{task.task.name}}</span></li> 
    </template> 
</ul> 

Oben ist mein! -Tempel-! des Polymerelements. Wo ich versuche, ein Array zu lesen, dh {{Artikel}} und ein json dh {{Aufgabe}}

unten ist das Skript:

<script> 
(function() { 
    'use strict'; 

    Polymer({ 
    is: 'my-list', 

    properties: { 
     items: { 
     type: Array, 
     notify: true 
     }, 
     task:{ 
     type: Array, 
     value: function() { return []; } // Default value 
     } 
    }, 

    ready: function() { 
     this.items = [ 
     'Responsive Web App boilerplate', 
     'Iron Elements and Paper Elements', 
     'End-to-end Build Tooling (including Vulcanize)', 
     'Unit testing with Web Component Tester', 
     'Routing with Page.js', 
     'Offline support with the Platinum Service Worker Elements' 
     ]; 
     this.task=[{ 
     "task": { 
      "name": "Fan", 
      "rules": [{ 
        "name": "Check Blades", 
         "id": "1", 
         "steps": [{ 

          "name": "Check motor", 
          "operator": "OR", 
          "number": "1", 
          "substeps": [{ 

           "name": "SubStep1", 
           "function": "code", 
           "expression": "(FAULT_CODE) == {err05,err07,err06}", 
           "number": "1", 
           "timeperiod": "86400000" 
          }] 
         }] 
        }] 
       } 
     }]; 
     } 
    }); 
})(); 

ich in der Lage bin das Array zu sehen content dh this.items aber nicht json contents. COuld jemand sagen mir, wo gehe ich falsch? Unten sehen Sie den Screenshot der Ausgabe, in der Sie die Details zu {{items}}, aber nicht zu {{task}} sehen können.

screenshot of the output

Antwort

0

Der Browser erlaubt keine Dateien zu lesen, die lokal auf Ihrem System vorhanden sind. Das Einzige, was Sie tun können, ist eine Dateieingabe bereitzustellen, die es ermöglicht, Dateien mit einem Dateiwähler auszuwählen und sie dann von dort zu lesen. Sie können sie von Ihrem lokalen System lesen, wenn der Webserver auf Ihrem lokalen System ausgeführt wird und diese Datei den Clients zur Verfügung stellt.

+0

Danke !! Hab deinen Punkt. Aber momentan hole ich es nicht von irgendwo anders. Es ist da in meinen Eigenschaften, d. H. {This.task}, aber warum kann ich es nicht analysieren? Irgendeine Idee ? – Shikha

0

this.task ist ein Array und Sie müssen daher eine berechnete Bindung verwenden, um auf seine Werte zuzugreifen.

Weitere Informationen dazu finden Sie im entsprechenden Abschnitt unter docs.