Index: pkg/template_binding/lib/src/input_element.dart |
diff --git a/pkg/template_binding/lib/src/input_element.dart b/pkg/template_binding/lib/src/input_element.dart |
index a599f24277a3a43cb19d4f3de1938a93e8d5b649..e3994355aa759c5f3c60a767cd04b0ad5e336b27 100644 |
--- a/pkg/template_binding/lib/src/input_element.dart |
+++ b/pkg/template_binding/lib/src/input_element.dart |
@@ -10,15 +10,18 @@ class _InputElementExtension extends _ElementExtension { |
InputElement get _node => super._node; |
- NodeBinding bind(String name, model, [String path]) { |
+ Bindable bind(String name, value, {bool oneTime: false}) { |
if (name != 'value' && name != 'checked') { |
- return super.bind(name, model, path); |
+ return super.bind(name, value, oneTime: oneTime); |
} |
- _self.unbind(name); |
_node.attributes.remove(name); |
- return bindings[name] = name == 'value' ? |
- new _ValueBinding(_node, model, path) : |
- new _CheckedBinding(_node, model, path); |
+ if (oneTime) { |
+ _InputBinding._updateProperty(_node, value, name); |
+ return null; |
+ } |
+ |
+ _self.unbind(name); |
+ return bindings[name] = new _InputBinding(_node, value, name); |
} |
} |