| 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); | 
| } | 
| } | 
|  |