2012-11-05 103 views
7

我正在嘗試從base.html到使用handlebars的其他模板的模板繼承。但我沒有爲此獲得靈感。Handlebars的模板繼承

請問任何人都可以用簡單的DEMO幫助我。與base.html文件,extend.html

例如, base.html文件

<html><head></head> 
<body> 
{% block content %}{% endblock %} 
</body> 
</html> 

Extend.html

{% extends "base.html" %} 
{% block content %}<h1>Foobar!</h1>{% endblock %} 

哪些文件,我需要在base.html文件包括.... ..?

+1

模板需要在帶有ID的腳本標記中。標題標籤的文本不需要模板,它只是文本。你還沒有解釋extend.html和base.html之間的任何關係。 – charlietfl

回答

0
// in my node server: using express and hbs 
hbs.registerPartials(__dirname + '/built/development/templates'); 
app.get('/', function (req, res) { 
    res.render('_base', { 
    "STATIC_URL": app.get('STATIC_URL') 
    }); 
}); 

// This is in my base template 
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" itemscope itemtype="http://schema.org/Article" xmlns:fb="http://ogp.me/ns/fb#"> <!--<![endif]--> 
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# blog: http://ogp.me/ns/blog#"> 
    {{> _config_logged_out }} 
    {{> _scripts }} 
</head> 
1

可以擴展部分以支持'塊',參見this gist

0

把手不提供開箱即用的模板繼承。

但是,有些庫提供了執行模板繼承所需的幫助程序。我最喜歡的是Wax On,因爲它基於Pug和Django中的模板繼承,並且按照您的預期工作。

還有handlebars-layouts,它有點不同,但它也可以運行客戶端,如果需要的話。