Coffeescript 从docpad.coffee中访问getRelatedDocuments
关于如何从内部函数直接访问@getRelatedDocuments()的任何建议。我能让我的代码片段正常工作的唯一方法是如下所示,其中@getRelatedDocuments()被分配给内部外部的变量。docpad抛出错误,指出如果我将其放置在内部函数中,它无法访问@getRelatedDocuments()函数Coffeescript 从docpad.coffee中访问getRelatedDocuments,coffeescript,docpad,Coffeescript,Docpad,关于如何从内部函数直接访问@getRelatedDocuments()的任何建议。我能让我的代码片段正常工作的唯一方法是如下所示,其中@getRelatedDocuments()被分配给内部外部的变量。docpad抛出错误,指出如果我将其放置在内部函数中,它无法访问@getRelatedDocuments()函数 getRelatedWidget: (widgetName) -> documents = @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 = (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>
"""
internal=(相关文档)->
res=用于在相关文档中重新发布
...
外部=->“
#{widgetName}
#{内部(@getRelatedDocuments())}
"""
如果调用internal(@getRelatedDocuments())能够正常工作,看起来会更好,它也会遇到同样的问题。由于对@getRelatedDocuments的调用位于嵌套函数(函数outer,嵌套在getRelatedWidget:(widgetName)->)下),编译器会抛出相同的错误,指出未定义getRelatedDocuments。
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>
"""