2013-08-31 4 views
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"); 
    } 
} 

Edit: я просто понял, что myMethod называется моей кнопкой из полимера-элемента не имеет доступа к данным других элементов (например, определенным кнопки радио или флажки) в шаблоне tmpl.

ответ

0

Да, атрибуты on-* работают только с полимерными элементами.

+0

Хорошо, но как я могу делиться данными или состояниями приложения между различными полимерными элементами? Если полимерный элемент 1 изменяет некоторое значение инициализации от x до z, полимерный элемент2 снова считывает только x. – Gero

+0

Передача сообщений - хороший способ сделать это. Увольнение и/или реагирование на изменения свойств. http://www.polymer-project.org/articles/communication.html – ebidel

0

Вы можете создать настраиваемый элемент dart-button и использовать настраиваемый атрибут для установки метода onclick. As I used it in this demo for onblur

Вы можете разделить модель между элементами управления, которые должны взаимодействовать и удерживать состояния управления в этой модели. Затем у вас есть доступ к другому состоянию элементов управления.