Область применения функции плагина шаблона jquery внутри класса - PullRequest
1 голос
/ 18 мая 2011

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

В примере под названием Пример: использование параметра 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 $ item.languageOptions для доступа к функции showLanguage.

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

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

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

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

Приветствия

Тим

...