Использование переменных для названий регионов в Marionette

Я создаю приложение, которое активно использует макеты и регионы Marionette. Однако я хочу иметь возможность передавать переменную как регион при рендеринге, например.

var x = "main_region";
someLayout.x.show(new SomeView());

Тем не менее, я продолжаю получать ошибку следующим образом:

TypeError: 'undefined' is not an object (evaluating 'someLayout.x.show')

Это может быть просто ошибка Javascript, магистральная или марионеточная. Есть ли у кого-нибудь совет?


person streetlight    schedule 12.04.2013    source источник


Ответы (1)


somelayout[x].show( ... ) — это именно тот синтаксис, который вам нужен. В JS ко всем членам можно получить доступ с помощью . или [] обозначение. Первый легче читать и использовать инструменты для оптимизации, но последний поддерживает переменные.

person Robert Levy    schedule 13.04.2013
comment
Спасибо! Меня всегда смущает разница между квадратной скобкой и точкой. Ты восхитителен! - person streetlight; 15.04.2013