/ / Polymer 1.x: Brug af jern-ajax inde i en brugerdefineret adfærd - ajax, polymer, polymer-1.0, polymer-1.x, jernelementer

Polymer 1.x: Brug af jern-ajax inden for en brugerdefineret adfærd - ajax, polymer, polymer-1.0, polymer-1.x, jernelementer

Jeg bygger en brugerdefineret adfærd. Ring til det MyBehaviors.MySpecialBehavior.

Men jeg skal have data, der gemmes lokalt i en JSON-fil, der hedder my-data.json.

Hvordan kan jeg gøre dette inden for min opførsel? Jeg forsøger at importere iron-ajax men jeg kan ikke tænke på, hvordan man får adgang til sine metoder eller egenskaber.

min-special-behavior.html
<link rel="import" href="../../bower_components/polymer/polymer.html">
<link rel="import" href="../../bower_components/iron-ajax/iron-ajax.html">

<script>
var MyBehaviors = MyBehaviors || {};
MyBehaviors.MySpecialBehaviorImpl = {
// Methods go here that rely on data at my-data.json
};

MyBehaviors.MySpecialBehavior = [
MyBehaviors.MySpecialBehaviorImpl,
];
</script>
min-data.json
{
"important": "data",
"j": 5,
"o": "N",
"goes": "here"
}

svar:

3 for svar № 1

Du kan oprette elementer programmatisk. Se på hvordan jern-ajax selv gør det at bruge jern-anmodning internt:

https://github.com/PolymerElements/iron-ajax/blob/master/iron-ajax.html#L442

Henvisning til din usecase, brugeren a1626 oprettet dette uddrag:

var ajax = document.createElement("iron-ajax");
ajax.contentType = "application/json";
ajax.handleAs = "json";
ajax.url = <url goes here>
ajax.method = "get";
ajax.addEventListener("response", function (event) {
//response handler
});
ajax.generateRequest();

1 for svar № 2

Du kan få adgang til json data med ajax.lastResponse inde i den tilføjede hændelseslytter.

var ajax = document.createElement("iron-ajax");
ajax.contentType = "application/json";
ajax.handleAs = "json";
ajax.url = <url goes here>
ajax.method = "get";
ajax.addEventListener("response", function (event) {
//response handler
console.log("ajax", ajax.lastResponse);
});
ajax.generateRequest();

Beslægtede spørgsmål


Kommentarer (0)

Tilføj en kommentar