| Index: pkg/polymer_expressions/lib/polymer_expressions.dart
|
| diff --git a/pkg/polymer_expressions/lib/polymer_expressions.dart b/pkg/polymer_expressions/lib/polymer_expressions.dart
|
| index f26c2f3e7e58a91655ac7981b07036be170902de..ac939d8ecb914ca496a07bf9012e5daa8cd48b1e 100644
|
| --- a/pkg/polymer_expressions/lib/polymer_expressions.dart
|
| +++ b/pkg/polymer_expressions/lib/polymer_expressions.dart
|
| @@ -123,8 +123,9 @@ class _Binding extends Bindable {
|
| }
|
|
|
| _setValue(v) {
|
| + var oldValue = _value;
|
| _value = _convertValue(v, _scope, _converter);
|
| - if (_callback != null) _callback(_value);
|
| + if (_callback != null && oldValue != _value) _callback(_value);
|
| }
|
|
|
| static _convertValue(v, scope, converter) {
|
| @@ -145,7 +146,8 @@ class _Binding extends Bindable {
|
|
|
| set value(v) {
|
| try {
|
| - assign(_expr, v, _scope);
|
| + var newValue = assign(_expr, v, _scope);
|
| + _value = _convertValue(newValue, _scope, _converter);
|
| } catch (e, s) {
|
| new Completer().completeError(
|
| "Error evaluating expression '$_expr': $e", s);
|
|
|