2

ポリマー要素にデータを渡す方法についてのこのスレッドを読み ましたポリマーダーツのボタンクリックが機能しません。ポリマー要素が必要

ただし、polymer.dart で createElement() を使用してプログラムで作成された要素にデータを渡したい場合、ラッピング テンプレートはありません。上記のようにデータを渡すにはどうすればよいですか?

ところで、dart は本当にクールな言語だと思いますが (私は JavaScript が嫌いです)、dart のポリマーはまだ準備ができていない可能性があることを発見しました。多くのことが文書化されておらず、例を調べるか、ここで質問する必要があります。

ありがとう、イー

4

3 に答える 3

1

MyElementElement クラスから start() 関数を削除して、上位レベルに追加する必要があると思います。基本的に、custom-element で上位レベルのオブジェクトへの参照を行うべきではありません。現在、カスタム要素は再利用できず、このコンテキスト内でのみ機能します。

于 2013-09-25T07:35:24.410 に答える
0

動的に作成されたカスタム ポリマー要素にデータを渡す方法の例を次に示します。私の意図は、「a href」をクリックして、コンテナ div にポリマー要素をロードすることでした。

Polymer_element.html

<polymer-element name="my-element">
  <template bind>
    <p> {{ mytext }} </p>
  </template>
  <script type="application/dart" src="polymer_myelement.dart"></script>
</polymer-element>

polymor_element.dart

import 'dart:html';
import 'package:polymer/polymer.dart';
import 'package:custom_element/custom_element.dart';

@CustomTag('polymer-myelement')
class MyElementElement extends PolymerElement with ObservableMixin {

  bool get applyAuthorStyles => true;

  @observable String mytext = "initial text";

  void start() {

    query('#a href to click').onClick.listen((MouseEvent event){
      query('.container').children.clear();
      var myElem = createElement('polymer-myelement');

      MyElementElement myel = myElem.xtag;
      myel.mytext = "i changed the text now or import w/e you want";

      query('.container').children.add(myElem);

    });    
  }
}

main() {
  MyElementElement el = new MyElementElement();
  el.start();
}

index.html

<head>
  <link rel="import" href="polymer_myelement.html">
  and everything you need ...
</head>
<body>
  <a href to click>click me for new text</a>
  <div class="container">
  <!-- START OF MAINCONTAINER -->

  <!-- END OF MAINCONTAINER -->
  </div>
</body>

説明は次のとおりです。私の main() では、start() 関数を実行し、ナビゲーション バーの href に onclickListener を設定するだけです。ここで href をクリックすると、"div class="container" 内のすべての子をクリアするだけです。これは、ポリマー要素を挿入する前に常に div をクリアする必要があるためです。次に、"createElement('polymer- mylement');". MyElement オブジェクトを作成し、ポリマー要素の「xtag」を割り当てます。これで、すべてのプロパティにアクセスできるようになり、それらを変更できます。作成した要素を div に追加するだけで完了です。

ポリマー要素を動的に作成し、新しいデータをそれに割り当てて、index.html で確認しました。

于 2013-09-24T11:27:33.997 に答える