0

我只是想将模板填充的 javascript 对象传递给辅助函数。我查看了有关将辅助对象传递给循环的对话,但没有找到任何直接解决以下示例的内容。

<script type="text/javascript">
    // an object set by the template
    var SomeObject = {};
    SomeObject.Id=6;
</script>
<script id = "SomeTemplate" type="text/html">
    <div id="somegroup_{{>Id}}" class="main">
        <img id="somegroup_img_{{>Id}}" class="mainImg" src="{{: ~fltrOAMnImgs_hlp(Images, SomeObject)}}"> 
    </div>
</script>

当前上面的代码没有将 SomeObject 传递给 helper func。我怎么能用新的 jsrender 库做到这一点?

4

1 回答 1

0

如果您想SomeObject在模板中提供对您的访问权限,则必须将该对象作为助手传递。有一些不同的方法可以做到这一点,具体取决于您是否希望它对所有模板全局可用,仅用于此模板,或者仅用于此 render() 调用。请参阅:注册助手、转换器、标签下的 $.views.helpers() 主题...

例如,如果您通过渲染调用将其传入,其名称为“myObject”:

myTemplate.render(myData, {myObject: SomeObject});

然后你可以参考它~myObject

<img ... src="{{: ~fltrOAMnImgs_hlp(Images, ~myObject)}}">

另请参阅此相关答案:Trying to run a function on an array in a, for loop, using jsrender

于 2013-11-12T01:25:48.013 回答