2017-09-29 3 views
0

Ich bin neu in Polymer und versuche, einen Ajax-Aufruf von Eisen-Ajax zu erstellen. Ich stoße auf einen Fehler, dass generateRequest() nicht definiert ist.iron-ajax kann nicht finden generateRequest() - Methode

Polymer 1 wird verwendet.

Ich installierte Eisen Ajax mit diesem Befehl: bower install --save PolymerLabs/promise-polyfill#1

Und wie Sie sehen können, habe ich es mit <link rel="import" href="../bower_components/promise-polyfill/promise-polyfill-lite.html">

lade ich es mit einigen Beispielen vergleichen, aber den Fehler nicht finden kann. Hat jemand eine Idee oder Lösung?

Dies ist der Code:

<!-- 
@license 
Copyright (c) 2016 The Polymer Project Authors. All rights reserved. 
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt 
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt 
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt 
Code distributed by Google as part of the polymer project is also 
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt 
--> 

<link rel="import" href="../bower_components/polymer/polymer.html"> 
<link rel="import" href="shared-styles.html"> 
<link rel="import" href="../bower_components/promise-polyfill/promise-polyfill-lite.html"> 
<dom-module id="my-view2"> 
    <template> 
    <style include="shared-styles"> 
     :host { 
     display: block; 

     padding: 10px; 
     } 
    </style> 

    <div class="card"> 
     <div class="circle">2</div> 
     <h1>View Two</h1> 
     <p>Demo output</p> 
    </div> 

    <template is="dom-repeat" items="[[repos]]"> 
     <span>{{items.name}}</span> 
    </template> 
    <button on-click="setajax">Click me</button> 

    <iron-ajax 
      id="ajax" 
      url="" 
      params='{"type":"all"}' 
      handle-as="json" 
      on-response="hresponse" 
      debounce-duration="300" > 
    </iron-ajax> 
    </template> 

    <script> 
    Polymer({ 
     is: 'my-view2', 
     setajax: function() { 
      this.$.ajax.url = "https://api.github.com/users/burczu/repos"; 
      this.$.ajax.params= {"type":"all"}; 
      this.$.ajax.generateRequest(); 
     }, 
     hresponse: function(request) { 
      console.log(request.detail.response); 
      console.log(this.$.ajax.lastResponse); 
     } 
    }); 
    </script> 
</dom-module> 

Antwort

1

Sie müssen iron-ajax installieren:

bower install --save PolymerElements/iron-ajax 

Dann können Sie den folgenden Code importieren, mit:

<link rel="import" href="../bower_components/iron-ajax/iron-ajax.html"> 

Ihr Code funktioniert nachdem du die oben genannten Dinge getan hast.

Verwandte Themen