从docpad.coffee中访问getRelatedDocuments

时间:2014-03-28 15:24:10

标签: coffeescript docpad

有关如何直接从内部函数访问 @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()
        .....

谢谢, 科林

1 个答案:

答案 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>
  """