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..03fe6bc5b30b087cf209fd3df1a8d39a719d7a9d 100644 |
--- a/pkg/template_binding/lib/src/input_element.dart |
+++ b/pkg/template_binding/lib/src/input_element.dart |
@@ -10,15 +10,17 @@ class _InputElementExtension extends _ElementExtension { |
InputElement get _node => super._node; |
- NodeBinding bind(String name, model, [String path]) { |
+ 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) { |
+ return _InputBinding._updateProperty(_node, value, name); |
+ } |
+ |
+ _self.unbind(name); |
+ return bindings[name] = new _InputBinding(_node, value, name); |
} |
} |