Datenbindung in einem dynamisch eingefügten Polymerelement

Es kann vorkommen, dass wir ein benutzerdefiniertes Element dynamisch in einen Kontext einfügen müssen. Dann

Das eingefügte Polymer kann einige Eigenschaften erhalten, die an eine andere Eigenschaft im Kontext gebunden sind, sodass es sich entsprechend ändern kann.

ei Polymer 0.5 könnten wir PathObserver verwenden, um eine Eigenschaft an eine Kontexteigenschaft für eine kürzlich hinzugefügte Komponente zu binden. Bei Polymer 1.0 habe ich jedoch keine Problemumgehung oder Entsprechung gefunden.

Ich habe ein Beispiel für 0,5 und genau das gleiche für 1,0 erstellt. Siehe unten den Code des Polymers, das die Injektion durchführt. Zur Verdeutlichung sehen Sie auch die vollständigen Beispiele für Plunker.

Ej 0.5:

<polymer-element name="main-context">
  <template>
    <one-element foo="{{foo}}"></one-element>
    <div id="dynamic">
    </div>
  </template>
  <script>
    Polymer({
      domReady: function() {
        // injecting component into polymer and binding foo via PathObserver
        var el = document.createElement("another-element");
        el.bind("foo", new PathObserver(this,"foo"));
        this.$.dynamic.appendChild(el);
      }
    });
  </script>
</polymer-element>

Bitte sehen Sie sich das vollständige Beispiel an:http: //plnkr.co/edit/2Aj3LcGP1t42xo1eq5V6? p = preview

Ej 1.0:

<dom-module id="main-context">
  <template>
    <one-element foo="{{foo}}"></one-element>
    <div id="dynamic">
    </div>
  </template>
</dom-module>
<script>
  Polymer({
    is: "main-context",
    ready: function() {
      // injecting component into polymer and binding foo via PathObserver
      var el = document.createElement("another-element");
      // FIXME, there's no a path observer: el.bind("foo", new PathObserver(this,"foo"));
      this.$.dynamic.appendChild(el);
    }
  });
</script>

Bitte sehen Sie sich das vollständige Beispiel an:http: //plnkr.co/edit/K463dqEqduNH10AqSzhp? p = preview

Kennen Sie eine Problemumgehung oder eine gleichwertige Lösung mit Polymer 1.0?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage