Я пытаюсь настроить привязку к логическому атрибуту элемента. У меня есть наблюдаемое поле в моем элементе приложения:
@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