0

私はしばらくの間、アプリケーション全体でパーシャルを使用する練習をしてきましたが、現在はいくつかの異なるフレームワークで使用しています。私はジェイドの実装、または私の誤った使用法に困惑しており、他の搾取者の経験と私の理解への修正を取得したいと思います。

フォルダ構造:

$ cd <app_root>/views
$ ls
  myHoverToolTip.jade
  layout.jade

発信者:

httpJadeViewerRsp = (req, res) -> res.render('myHoverToolTip.jade', { variable: 'here' })

myHoverToolTip.jade

extends layout

block myHoverToolTip
  .some-div
    h1 Awesome-O Rocks

layout.jade

<...bunch of jade markup...>
.div
  block myHoverToolTip
    h5 Content to remove

これは、ページを提供するだけで、レイアウトを提供するための標準的な方法を探している少数のユースケースで機能します。ただし、これから逸脱し、よりモジュール方式でパーシャルを使用して物事を乾かすと、extends/blockのこの実装で頭が痛くなることがわかります。ツールチップをパーシャルに分割して、データグリッド全体で再利用したい(もちろん、多くの変数をパーシャルに渡すので、インクルードは忘れてください)。この実装では、この機能を使用できません。誰かが私にさらなる洞察を提供したり、私の使用法を修正したり、Express3で動作するより優れたNodeJs対応のテンプレートライブラリに私を導いたりできますか?

4

2 に答える 2

1

ミックスインが役立つようです。

于 2012-10-10T18:13:59.813 に答える
0

2012年8月およびExpress3以降、「部分的」サポートは削除されましたが、この機能は、引用符または角かっこなしで「include[yourtemplatename]」という式を使用して引き続き使用できます。

私も便利だと思ったJadeの代わりに、もう少しASP.NET/JSTLに似たEJSテンプレートがあります。

編集:どちらの場合も、使用可能な親コンテキストと変数はインクルードによってアクセスできます。

于 2012-10-10T17:45:04.377 に答える