从jQote2模板中访问jQuery本身和其他全局变量

时间:2014-02-01 19:43:34

标签: javascript jquery templates jqote

使用jQote,我的模板正确编译成lamdas,除非我使用$.each()之类的东西,或尝试访问其他全局变量,比如通过_.*访问的我自己的环境变量...类似于如何通过jQuery

访问$.*

我的代码设置为<* *> ...我需要能够做到这样的事情:

<* $.each( this.scheduled, function( i, s ) { *>
    <a href="<*= _.base *>/.calendar/goto/<*= s.timestamp *>">
        <*= s.readable *>
    </a>
<* }) *>

这样做会让我犯这个错误,使用$._ ...如果我从$.each()更改为for() { },那么_.*会触发相同的错误一种错误:

Expected an identifier but found 'out' instead

查看已成功编译的模板,outstringjQote2正在填充已填充数据的已解析模板。我真正可以访问的是this,其中包含我的数据。

如何在不触发此隐晦错误的情况下访问jQote2模板中的全局变量?

1 个答案:

答案 0 :(得分:0)

根本不是范围问题!

经过大量挖掘和jQote2生成的代码验证后,最终结果就是:

<* $.each( this.scheduled, function( i, s ) { *>
    <a href="<*= _.base *>/.calendar/goto/<*= s.timestamp *>">
        <*= s.readable *>
    </a>
<* }); *>

让我们放大一个完全不同的角色:<* }); *>

缺少SEMI-COLON!确保完全关闭代码块对于模板编译时的压缩程度似乎非常重要。