1

初めてのポリマー アプリケーション/サンプルを作成していますが、シンプルなアプリケーションbutton on-clickが機能しません。メソッドは呼び出されません。新しいポリマー要素 (コメント付きのコード) を作成せずに、単純なボタンを使用したいと思います。ポリマー要素でボタンを使用すると、正常に機能します。

<!DOCTYPE html>

<html>
  <head>
    <meta charset="utf-8">
    <title>Button</title>
    <link rel="stylesheet" href="button.css">
     <script src="packages/polymer/boot.js"></script>
  </head>
  <body>
    <h1>Button</h1>

   <template id="tmpl" bind>
     <button  on-click="myMethod">Click me!</button><!! DOES NOT WORK!!! -->
     </template> 
     <!--
   <polymer-element name="my-element" extends="div">
      <template>
        <p>
          <button on-click="myMethod">Show Message</button>
          <button on-click="myMethod">Hide Message</button>
        </p>
      </template>   
    </polymer-element>

    <my-element id="test"></my-element>-->

    <script type="application/dart" src="button.dart"></script>       
  </body>
</html>

.

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

void main() {
  query("#tmpl").model = new MyClass();
}

@CustomTag('my-element')
class MyClass extends PolymerElement with ObservableMixin{

  @observable String name="testname";

  void myMethod(var e, var detail, var target) {
    print("button works");
  }
}

myMethod編集:ポリマー要素からボタンによって呼び出された場合、テンプレートで定義された他の要素 (ラジオ ボタンやチェックボックスなど) のデータにアクセスできないことに気付きましたtmpl

4

2 に答える 2

0

カスタム要素の dart-button を作成し、カスタム属性を使用して onclick メソッドを設定できます。 onblur のこのデモで使用したように

このモデルのコントロールの状態を連携して保持する必要があるコントロール間でモデルを共有できます。次に、他のコントロールの状態にアクセスできます。

于 2013-09-24T05:34:10.730 に答える
0

はい、on-*属性は Polymer 要素内からのみ機能します。

于 2013-09-01T19:05:21.657 に答える