Markup.js在循环内部从根访问变量时遇到的问题

时间:2018-02-12 13:57:19

标签: javascript templates markup

我使用 Markup.JS https://github.com/adammark/Markup.js),并且它适用于大多数情况。我遇到的问题是从父循环访问变量。这是传递给它的对象:

enter image description here

模板代码为:

This works here: {{perms.link_modify}}

{{links_loop}}
<tr>
    <td><a href="{{detailed_url}}" target="_blank">{{Title}}</a></td>
    <td>{{if URL}}
            <a href="{{URL}}" target="_blank">{{URL}}</a>
        {{else}}
            n/a
        {{/if}}</td>
    <td>
        {{if isValidated}}
            <!-- doesn't have a value here -->
            foo: {{perms.link_modify}}
        {{else}}
            <!-- not relevent to question -->
        {{/if}}
    </td>
</tr>
{{/links_loop}}

运行时,这部分:

            foo: {{perms.link_modify}}

出现了??? (未认可的变量)。问题似乎是它没有意识到它意味着来自根(不在循环本身内)。有没有办法告诉它在看时上升一级? (希望这是有道理的!)

FWIW ,我知道我可以复制&#34;烫发的价值&#34;进入循环值,但这意味着一遍又一遍地重复相同的数据,并且看起来有点混乱(特别是如果循环中有100个项目,因为perms需要每一个都重复一次)

更新:我刚发现这篇文章:https://github.com/adammark/Markup.js/pull/51/files?diff=split&short_path=04c6e90

我在版本1.5.21上,所以我试图了解如何实现它(因为它没有发布)

1 个答案:

答案 0 :(得分:0)

好的,所以虽然目前的版本(v1.5.21)似乎无法做到这一点,但这种黑客攻击是可能的:

https://github.com/adammark/Markup.js/pull/51/files?diff=split&short_path=04c6e90

我已应用此修复程序,它对我来说效果很好。我尝试发布一个包含完整代码的PasteBin,但它不会让我(因为我没有直接发布任何代码,这会太冗长)