Laden von JSON-URI mit inline-JSON-in-Polymer
Ich mache eine d3.js map-Komponente mit Polymer. Die Topologie-Daten geladen werden muss, aus einer json-Datei und da ich nicht möchte, dass die Komponente, die abhängig von einer URL/URI, ich bin mit inline-JSON statt laden mit AJAX:
<polymer-element name="map-us">
<template>
<script id="topodata" type="application/json" src="data/us.json"></script>
/* ... more stuff ... */
</template>
<script>
Polymer('map-us', {
ready: function() {
/*
This works in regular HTML/JQuery:
var x = JSON.parse($('#myJson').html());
console.log(x.arcs);
*/
var x = JSON.parse(this.$.topodata.html());
console.log(x.arcs);
});
</script>
</polymer-element>
Aber offensichtlich topdata element nicht die Methode html().
Ist es die richtige Sache zu tun?
und wie vulkanisieren Angebot mit dieser?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keine Notwendigkeit, inline-JSON-Datei. Polymer resolvePath Funktion ist nützlich, um sicherzustellen, dass der relative Pfad zum JSON-Datei ist immer richtig, unabhängig davon, wo die Komponente enthalten ist:
Info über resolvePath hier.
UPDATE (Polymer 1.0):
Der name der Funktion wurde geändert, um
resolveUrl
: 1.0 API-DocsDu bist nicht abhängig von einer externen Ressource, aber es ist immer noch in einer separaten Datei. Ich würde core-ajax laden:
http://www.polymer-project.org/docs/elements/core-elements.html#core-ajax
url
. Den Pfad können, was Sie wollen, so lange, wie Sie Ihre web-server löst auf den richtigen Speicherort der Daten-Datei.