2014-06-14 4 views
0

Когда я запускаю этот кодТам нет такого геттер «нажмите» в «ElementEvents»

import 'dart:html'; 

void main() 
{ 
    var button=new Element.tag('button'); 
    button.text="Press me please"; 
    button.on.click.add((event){ 
    List buttonList=querySelectorAll("button"); 
    window.alert("There is ${buttonList.length} button"); 

    }); 
    document.body.children.add(button); 
} 

Dart Editor возвращение:

Breaking on exception: Class 'ElementEvents' has no instance getter 'click'. 

Этот код представляет собой пример из «Dart в действии " Я не знаю, что такое ошибка.

С наилучшими пожеланиями

ответ

0

Вы можете использовать

button.onClick.listen((event) { ... }); 

or 

button.on['click'].listen((event) { ... }); 

Вы должны предпочесть первый вариант. Второй - для пользовательских событий, где dart: html не предлагает явные методы доступа.

Если вы хотите отменить подписку позже

StreamSubscription btnClickSubscr = button.onClick.listen((event) { ... }); 

if(btnClickSubscr != null) { 
    btnClickSubcr.cancel(); 
} 

вы также можете создать кнопку с помощью

new ButtonElement(); // instead of new Element.tag('button'); 
Смежные вопросы