Kaynağa Gözat

Pre-cache view for dot references

tags/0.7.3
Michael Jackson 12 yıl önce
ebeveyn
işleme
b60aa6f0f1
1 değiştirilmiş dosya ile 13 ekleme ve 17 silme
  1. +13
    -17
      mustache.js

+ 13
- 17
mustache.js Dosyayı Görüntüle

@@ -123,7 +123,7 @@
function Context(view, parent) {
this.view = view == null ? {} : view;
this.parent = parent;
this._cache = {};
this._cache = { '.': this.view };
}

Context.make = function (view) {
@@ -139,27 +139,23 @@
if (name in this._cache) {
value = this._cache[name];
} 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;


Yükleniyor…
İptal
Kaydet