Polymer - Laden Kern Ajax in einem Element

7

Nachdem ich core-ajax auf der Polymer-Website überprüft habe, habe ich beschlossen, Ajax hinzuzufügen Funktionalität mit Core-Ajax in meinem Element / Widget.

test-view.html

%Vor%

Leider gibt die Variable "ajax" in meinem Skript "undefined" zurück. Wie kann ich Ajax in einem Element mit Core-Ajax laden?

Side Question: Ist das "id" -Attribut innerhalb eines Polymerelements nur innerhalb des Polymerelements zugänglich?

    
Gasim 23.06.2014, 06:11
quelle

1 Antwort

22

Drei Hauptprobleme:

  1. Der core-ajax muss innerhalb der Vorlage liegen, also gehört er zum DOM der jeweiligen Instanz (deshalb war ajax undefiniert).
  2. Sie benötigen das auto -Attribut für core-ajax (andernfalls müssen Sie die go() -Methode für die core-ajax aufrufen, um die Anfrage zu senden).
  3. Ihr Ereignishandler verwendet this , ist jedoch nicht an den Elementbereich gebunden. Schlage vor, dass Sie die Ereignisdelegierung anstelle von addEventListener verwenden.

Siehe das neue Beispiel unten. Die anderen (weniger wichtigen) Verbesserungen, die ich gemacht habe:

  1. Entfernen Sie die ID aus core-ajax , wir brauchen sie nicht mehr zu referenzieren.
  2. Entfernen Sie den polymer.html Import, core-ajax importiert ihn bereits.
  3. Entfernen Sie den Parameter test-view in Polymer() , dies ist nicht notwendig, wenn Sie ein Element in einem Import definieren.

Modifiziertes Beispiel:

%Vor%

Noch besser ist es, Ereignisse vollständig zu vermeiden und Daten direkt an die Antwortdaten zu binden. Beispiel:

%Vor%     
Scott Miles 23.06.2014, 06:39
quelle

Tags und Links