把手的模板继承

时间:2012-11-05 06:19:33

标签: javascript templates handlebars.js

我正在尝试使用把手从base.html到其他模板的模板继承。但是我没有为此获得灵魂。

拜托,任何人都可以通过简单的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中包含哪些文件......?

3 个答案:

答案 0 :(得分:1)

可以扩展部分以支持“阻止”,请参阅this gist

答案 1 :(得分: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>

答案 2 :(得分:0)

Handlebars不提供开箱即用的模板继承。

但是,有些库提供了进行模板继承所必需的帮助程序。我最喜欢的是Wax On,因为它基于Pug和Django中的模板继承,并且可以按预期工作。

还有handlebars-layouts的工作方式略有不同,但如果需要,它也可以在客户端运行。