Я пытаюсь получить значения в цикле из родительского контекста. Пыль может вызвать мой метод, но мой метод не может достичь моих свойств, которые я определил в классе, поскольку контекст является текущим.Пыль - как получить родительский контекст в цикле
Так, например:
JavaScript класс
MyNamespace.MyClass = function() {
this.names= ["Me", "You", "StackOverflow"];
this.isAwesome = true;
};
MyNamespace.MyClass.prototype.sayHello = function() {
if(this.isAwesome) {
return "Hello awesome ";
// This code will never be reached due to 'this' is one of the items from the array
}
return "Hello ";
};
My Dust
{#names}{sayHello} {.}{~n}{/names}
Проблема
Метод sayHello
будет называться, как и ожидалось , но контекст - это текущий элемент вместо родителя. Таким образом, this
соответствует текущему элементу, и, конечно, "Me".isAwesome
всегда будет возвращать значение false. Как вы понимаете, я хотел бы быть потрясающим.
Вопрос
Как я могу добиться того, что 3 удивительных людей возвращаются пылью.
Хм .. Это работает, но это означает, что моя модель должна знать, что DUST используется для рендеринга. Поэтому мой метод «sayHello» вызывает дополнительную озабоченность. Это означает, что я прикован к DUST, если я перехожу к этому подходу. – hwcverwe
Это в основном потому, что у Пыли есть другая модель контекста, чем ванильный Javascript, так как вы можете иметь несколько иерархических уровней видимости и их искать с восходящего. – Interrobang