Привязка к логическому атрибуту

Я пытаюсь настроить привязку к логическому атрибуту элемента. У меня есть наблюдаемое поле в моем элементе приложения:

  @observable bool test = false;

Теперь я хочу привязать его к элементу с логическим атрибутом, например <input type="checkbox">, и отобразить текущее значение этого элемента:

<input type="checkbox" checked="{{test}}">
Value is {{test}}
<template if="{{test}}">
   Toggle button is on
</template>

Но если я ставлю галочку, ничего не происходит. Метод testChanged не вызывается:

  void testChanged(old) {
    print('Test $test');
  }

Я не могу этого вспомнить, но разве не было синтаксиса, содержащего вопросительный знак для привязки к логическим значениям? Я не могу найти никаких ресурсов по этому поводу. Я следовал примеру Seth Ladd для привязки к флажку, который использует тот же синтаксис, что и я.

Моя первоначальная цель состояла в том, чтобы связать элемент полимер-ui-toggle-button из пакета polymer_ui_elements, но это тоже не работает:

<polymer-ui-toggle-button value="{{test}}"></polymer-ui-toggle-button>
Value is {{test}}
<template if="{{test}}">
  Toggle button is on
</template>

В этом случае я не получаю исключения, но привязка не работает. Сама кнопка работает нормально и меняет свое состояние при переключении. Я вижу в инспекторе, что атрибут значения переключается правильно.

Кто-нибудь уже использует привязку к логическому значению и может указать мне правильный маршрут или знает о проблемах?

Обновление: вот мой пример исходного кода.

Моя версия Dart: Dart Editor версии 1.0.2_r30821 (DEV) Dart SDK версии 1.0.2.1_r30821


person Fox32    schedule 07.12.2013    source источник
comment
когда флажок установлен, он получит значение «checked not true», как и ожидал Dart. Разве это не так?   -  person Paul Collingwood    schedule 07.12.2013
comment
Моя ошибка, я обновлю вопрос, исключение исчезнет, ​​но оно не работает   -  person Fox32    schedule 07.12.2013
comment
Является ли предоставленный вами HTML-код внутри элемента шаблона пользовательских элементов?   -  person Günter Zöchbauer    schedule 07.12.2013
comment
Да, см. test-element.html в связанном zip-файле.   -  person Fox32    schedule 07.12.2013
comment
загрузил ваш код, и он отлично работает (флажок и кнопка-переключатель полимерного пользовательского интерфейса), и мне кажется странным делать переключатель-переключатель без нажатия на него - никогда не пробовал :-) Я только что видел, что флажок не переключаться, когда я нажимаю кнопку переключения :(   -  person Günter Zöchbauer    schedule 07.12.2013
comment
У меня есть только оба элемента, чтобы проверить оба, я действительно не хочу использовать эту комбинацию. Какую версию Дарта вы используете?   -  person Fox32    schedule 07.12.2013
comment
Только что заметил, что у меня работает флажок, если я компилирую в js, но кнопка может только установить var в true, но не снова в false.   -  person Fox32    schedule 07.12.2013
comment
У меня такое же поведение в Дарте. Версия 1.0.3_r30939 (DEV). Я вижу, что значение кнопки-переключателя переключается, но не обновляется в HTML.   -  person Günter Zöchbauer    schedule 07.12.2013
comment
Когда я добавляю точку останова в кнопку-переключатель, она работает в обоих направлениях. Кажется, проблема со временем.   -  person Günter Zöchbauer    schedule 07.12.2013
comment
давайте продолжим это обсуждение в чате   -  person Fox32    schedule 07.12.2013


Ответы (1)


В прошлый раз, когда я пробовал, это сработало так

checked?="{{isChecked}}" 
person Günter Zöchbauer    schedule 07.12.2013
comment
Я устал от этого, но безуспешно. Есть ли документация по этому синтаксису? Я обновил свой пост полным примером кода. - person Fox32; 07.12.2013