| Index: pkg/template_binding/lib/src/text.dart
|
| diff --git a/pkg/template_binding/lib/src/text.dart b/pkg/template_binding/lib/src/text.dart
|
| index ecb25814d0cdf5f603b0ebcee3ece0930c88f01c..1f94683d8973ef31e5ddccdc771b55331878adbd 100644
|
| --- a/pkg/template_binding/lib/src/text.dart
|
| +++ b/pkg/template_binding/lib/src/text.dart
|
| @@ -8,20 +8,24 @@ part of template_binding;
|
| class _TextExtension extends NodeBindExtension {
|
| _TextExtension(Text node) : super._(node);
|
|
|
| - NodeBinding bind(String name, model, [String path]) {
|
| + bind(String name, value, {bool oneTime: false}) {
|
| // Dart note: 'text' instead of 'textContent' to match the DOM property.
|
| if (name != 'text') {
|
| - return super.bind(name, model, path);
|
| + return super.bind(name, value, oneTime: oneTime);
|
| }
|
| + if (oneTime) {
|
| + return _updateText(value);
|
| + }
|
| +
|
| unbind(name);
|
| - return bindings[name] = new _TextBinding(_node, model, path);
|
| + _open(value, _updateText);
|
| + return bindings[name] = value;
|
| }
|
| -}
|
|
|
| -class _TextBinding extends NodeBinding {
|
| - _TextBinding(node, model, path) : super(node, 'text', model, path);
|
| -
|
| - void valueChanged(newValue) {
|
| - node.text = sanitizeBoundValue(newValue);
|
| + _updateText(value) {
|
| + _node.text = _sanitizeValue(value);
|
| }
|
| }
|
| +
|
| +/** Called to sanitize the value before it is assigned into the property. */
|
| +_sanitizeValue(value) => value == null ? '' : '$value';
|
|
|