| 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 3f70c4b76120da85cd4f243b421f364b7238b338..354fb5eb9958bf2100874438a16afe1e56b1ab63 100644
|
| --- a/pkg/polymer_expressions/lib/polymer_expressions.dart
|
| +++ b/pkg/polymer_expressions/lib/polymer_expressions.dart
|
| @@ -67,28 +67,25 @@ class PolymerExpressions extends BindingDelegate {
|
| : globals = (globals == null) ?
|
| new Map<String, Object>.from(DEFAULT_GLOBALS) : globals;
|
|
|
| - _Binding getBinding(model, String path, name, node) {
|
| + prepareBinding(String path, name, node) {
|
| if (path == null) return null;
|
| var expr = new Parser(path).parse();
|
| - if (model is! Scope) {
|
| - model = new Scope(model: model, variables: globals);
|
| - }
|
| - if (node is Element && name == "class") {
|
| - return new _Binding(expr, model, _classAttributeConverter);
|
| - }
|
| - if (node is Element && name == "style") {
|
| - return new _Binding(expr, model, _styleAttributeConverter);
|
| - }
|
| - return new _Binding(expr, model);
|
| + return (model, node) {
|
| + if (model is! Scope) {
|
| + model = new Scope(model: model, variables: globals);
|
| + }
|
| + if (node is Element && name == "class") {
|
| + return new _Binding(expr, model, _classAttributeConverter);
|
| + }
|
| + if (node is Element && name == "style") {
|
| + return new _Binding(expr, model, _styleAttributeConverter);
|
| + }
|
| + return new _Binding(expr, model);
|
| + };
|
| }
|
|
|
| - getInstanceModel(Element template, model) {
|
| - if (model is! Scope) {
|
| - var _scope = new Scope(model: model, variables: globals);
|
| - return _scope;
|
| - }
|
| - return model;
|
| - }
|
| + prepareInstanceModel(Element template) => (model) =>
|
| + model is Scope ? model : new Scope(model: model, variables: globals);
|
| }
|
|
|
| class _Binding extends ChangeNotifier {
|
|
|