有关如何直接从内部函数访问 @getRelatedDocuments()的任何建议。只有我可以让我的代码片段工作的方式如下所示 @getRelatedDocuments()被分配给内部以外的变量。 docpad抛出错误,指出如果我将其置于内部函数
中,则无法访问 @getRelatedDocuments()函数getRelatedWidget: (widgetName) ->
documents = @getRelatedDocuments()
inner = ->
res = for relPost in documents
"""
<li><a href="#{relPost.url}">#{relPost.title}</a></li>"""
return res.join('')
outer = -> """
<aside id="related-posts">
<h3 class="widget-title">#{widgetName}</h3>
<nav class="linklist">
<ul>
#{inner()}
</ul>
</nav>
</aside>
"""
if @getRelatedDocuments().length
outer()
我想宁愿使用:
inner = ->
res = for relPost in @getRelatedDocuments()
.....
谢谢, 科林
答案 0 :(得分:0)
让它成为一个论点。
inner = (related_docs) ->
res = for relPost in related_docs
...
outer = -> """
<aside id="related-posts">
<h3 class="widget-title">#{widgetName}</h3>
<nav class="linklist">
<ul>
#{inner(@ getRelatedDocuments())}
</ul>
</nav>
</aside>
"""