一个类中的jquery模板插件函数作用域

时间:2011-05-18 06:09:46

标签: jquery templates function plugins scope

我正在使用jQuery模板插件,我在一个类中调用插件。

在标题为的示例中 示例:使用{{tmpl}}标记的options参数提供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函数,那么该函数可用于第一个模板,但访问它的任何其他模板都没有引用它,我不想要像他们在他们的例子中那样在它周围传递它,因为它对我来说似乎很麻烦。

希望有人能给我一个很好的解决方案。

干杯,

0 个答案:

没有答案