在Django框架中,網頁模板可以從其他模板繼承。在您的子模板中,您可以定義覆蓋父模板中類似命名塊的代碼塊。我猜測還有其他後端模板系統也可以這樣工作,但Django是我熟悉的。javascript模板繼承
做任何現有的JavaScript模板系統支持Django風格的繼承?
在Django框架中,網頁模板可以從其他模板繼承。在您的子模板中,您可以定義覆蓋父模板中類似命名塊的代碼塊。我猜測還有其他後端模板系統也可以這樣工作,但Django是我熟悉的。javascript模板繼承
做任何現有的JavaScript模板系統支持Django風格的繼承?
Mustache.js支持partials,其工作方式類似。除此之外,我一直沒能找到任何東西 - 也許我會讓它...
*
好了,他們不是真的很喜歡Django的所有模板,但他們是最接近仿我能找到。
jQuery的模板有{{包}}模板標籤,類似於擴展:
雖然不是「模板繼承」,但 Beard.js可以幫助你重新使用您的模板通過創建模板引用,我認爲這可以幫助您實現相同的目標。
退房Handlebars.js。它允許你定義輔助方法,你可以用它來劃分不同的塊,並以類似於Rails的content_for :my_area
和yield :my_area
的方式回顯出來。
是的,使用Dustjs,您可以讓模板從公共基本模板繼承其大部分內容。下面是它的工作原理,與Dustjs:(參見 「塊和內聯局部變量」 一節)
在文件 「base_template」:
Start
{+title/}
Middle
{+main/}
End
一種模板, 「繼承」 了base_template:
{>base_template/}
{<title}
Child Title
{/title}
{<main}
Child Content
{/main}
結果是這樣的:
Start
Child Title
Middle
Child Content
End
相關的問題:O型似乎只支持1級繼承:Is there a way to do more than one level of inheritance value overrides with dust.js?
將模板繼承添加到Handlebars有一些工作正在進行。
看到這個相當新的GitHub的問題:https://github.com/wycats/handlebars.js/issues/208
而這個博客帖子:Template Inheritance for Handlebars
什麼你要找的,如果你想模板繼承和DTL語法,是Nunjucks:
你應該解釋什麼是「django風格的繼承」,然後也許有人會發布答案。 – 2010-09-07 01:17:36
@丹尼爾,很好的建議。 – morgancodes 2010-09-07 17:58:42
只是[創建我自己的問題](http://stackoverflow.com/q/7014944/207894)有關此問題,更詳細。希望這會有所幫助。 – 2011-08-10 17:13:39