область действия плагина шаблона jquery в классе

#jquery #templates #function #plugins #scope

#jquery #шаблоны #функция #Плагины #область действия

Вопрос:

Я использую плагин шаблона jQuery и вызываю плагин из класса.

В примере, озаглавленном Example: Использование параметра options тега {{tmpl}} для предоставления метода showLanguage.

На следующей странице http://api.jquery.com/template-tag-tmpl

Они используют пример, подобный этому:

    $( "#movieTemplate" ).tmpl( movies, {
        languageOptions: {
            showLanguage: function showLanguage( name ) {
                return name.toUpperCase();
            }
        }
   }).appendTo( "#movieList" );


<script id="movieTemplate" type="text/x-jquery-tmpl"> 
    <tr>
        <td>${Name}</td>
        <td>{{tmpl(Languages.results, $item.languageOptions) "#languageTemplate"}}</td>
    </tr>
</script>

<script id="languageTemplate" type="text/x-jquery-tmpl"> 
    <em>${$item.showLanguage(Name)} </em>
</script>
  

Они переходят к элементу languageTemplate $.languageOptions для доступа к функции showLanguage.

Мой вопрос в том, как я могу пройти через функции, которые могут использоваться в любом из шаблонов, включая шаблоны, которые включаются другими шаблонами, без необходимости размещать функции в глобальной области?

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

Если я исключу свойство showLanguage в приведенном выше примере и просто передам функцию showLanguage самостоятельно, тогда функция доступна для первого шаблона, но любые другие шаблоны, которые обращаются к нему, не имеют ссылки на него, и я не хочу передавать ее по всему месту, как они делают в своем примере, поскольку это просто кажется мне беспорядочным.

Надеюсь, кто-нибудь сможет подсказать мне хорошее решение.

Приветствия,

Тим