| Index: dart/pkg/template_binding/lib/src/element.dart
|
| ===================================================================
|
| --- dart/pkg/template_binding/lib/src/element.dart (revision 37358)
|
| +++ dart/pkg/template_binding/lib/src/element.dart (working copy)
|
| @@ -9,8 +9,6 @@
|
| _ElementExtension(Element node) : super._(node);
|
|
|
| bind(String name, value, {bool oneTime: false}) {
|
| - _self.unbind(name);
|
| -
|
| Element node = _node;
|
|
|
| if (node is OptionElement && name == 'value') {
|
| @@ -31,7 +29,7 @@
|
|
|
| _open(value, (x) => _updateAttribute(_node, name, conditional, x));
|
| }
|
| - return bindings[name] = value;
|
| + return _maybeUpdateBindings(name, value);
|
| }
|
|
|
| void _updateOption(newValue) {
|
| @@ -40,10 +38,13 @@
|
| var selectBinding = null;
|
| var select = node.parentNode;
|
| if (select is SelectElement) {
|
| - var valueBinding = nodeBind(select).bindings['value'];
|
| - if (valueBinding is _InputBinding) {
|
| - selectBinding = valueBinding;
|
| - oldValue = select.value;
|
| + var bindings = nodeBind(select).bindings;
|
| + if (bindings != null) {
|
| + var valueBinding = bindings['value'];
|
| + if (valueBinding is _InputBinding) {
|
| + selectBinding = valueBinding;
|
| + oldValue = select.value;
|
| + }
|
| }
|
| }
|
|
|
|
|