| @@ -123,7 +123,7 @@ | |||||
| function Context(view, parent) { | function Context(view, parent) { | ||||
| this.view = view == null ? {} : view; | this.view = view == null ? {} : view; | ||||
| this.parent = parent; | this.parent = parent; | ||||
| this._cache = {}; | |||||
| this._cache = { '.': this.view }; | |||||
| } | } | ||||
| Context.make = function (view) { | Context.make = function (view) { | ||||
| @@ -139,27 +139,23 @@ | |||||
| if (name in this._cache) { | if (name in this._cache) { | ||||
| value = this._cache[name]; | value = this._cache[name]; | ||||
| } else { | } else { | ||||
| if (name === '.') { | |||||
| value = this.view; | |||||
| } else { | |||||
| var context = this; | |||||
| var context = this; | |||||
| while (context) { | |||||
| if (name.indexOf('.') > 0) { | |||||
| value = context.view; | |||||
| while (context) { | |||||
| if (name.indexOf('.') > 0) { | |||||
| value = context.view; | |||||
| var names = name.split('.'), i = 0; | |||||
| while (value != null && i < names.length) { | |||||
| value = value[names[i++]]; | |||||
| } | |||||
| } else { | |||||
| value = context.view[name]; | |||||
| var names = name.split('.'), i = 0; | |||||
| while (value != null && i < names.length) { | |||||
| value = value[names[i++]]; | |||||
| } | } | ||||
| } else { | |||||
| value = context.view[name]; | |||||
| } | |||||
| if (value != null) break; | |||||
| if (value != null) break; | |||||
| context = context.parent; | |||||
| } | |||||
| context = context.parent; | |||||
| } | } | ||||
| this._cache[name] = value; | this._cache[name] = value; | ||||