{{# each subcategory }} {{# each this}}
    {{#if {{this.titleen} == "kitckendinning"}}
        <li>
          <a href="#">
            <span class="pull-right">(56)</span>{{this.title}}</a>
        </li>
    {{/if}}
{{/each}} {{/each}}


这引发了一些错误:


  预期为'CLOSE_RAW_BLOCK','CLOSE','CLOSE_UNESCAPED','OPEN_SEXPR','CLOSE_SEXPR','ID','OPEN_BLOCK_PARAMS','STRING','NUMBER','BOOLEAN','UNDEFINED','NULL',' DATA”,“ SEP”,“ OPEN”


该错误可能是{{#if {{this.titleen} == "kitckendinning"}}

如何在快速车把上实现此功能?

最佳答案

您可以使用助手功能来执行此操作。

https://github.com/ericf/express-handlebars

这是一个示例。您也可以在他的链接中找到它。

帮手
助手功能或“助手”是可以在车把上注册并可以在模板内调用的功能。可以使用辅助程序来转换输出,遍历数据等。为了保持无逻辑模板的精神,辅助程序是定义逻辑的地方。

把手附带了一些内置的帮助器,例如:带,是否,每个等。大多数应用程序将需要扩展这组帮助器以包括特定于应用程序的逻辑和转换。除了在Handlebars上定义全局助手外,此视图引擎还通过helpers配置属性支持ExpressHandlebars实例级助手,并在调用render()和renderView()方法时通过options.helpers支持渲染级助手。

以下示例显示了在每个级别上指定的助手:

app.js:

创建一个超级简单的Express应用程序,该应用程序显示注册ExpressHandlebars实例级帮助程序并在渲染级覆盖一个的基本方法。

var express = require('express');
var exphbs  = require('express-handlebars');

var app = express();

var hbs = exphbs.create({
    // Specify helpers which are only registered on this instance.
    helpers: {
        foo: function () { return 'FOO!'; },
        bar: function () { return 'BAR!'; }
    }
});

app.engine('handlebars', hbs.engine);
app.set('view engine', 'handlebars');

app.get('/', function (req, res, next) {
    res.render('home', {
        showTitle: true,

        // Override `foo` helper only for this rendering.
        helpers: {
            foo: function () { return 'foo.'; }
        }
    });
});

app.listen(3000);


views / home.handlebars:

该应用的主视图使用助手功能来帮助呈现内容。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Example App - Home</title>
</head>
<body>

    <!-- Uses built-in `if` helper. -->
  {{#if showTitle}}
    <h1>Home</h1>
  {{/if}}

    <!-- Calls `foo` helper, overridden at render-level. -->
    <p>{{foo}}</p>

    <!-- Calls `bar` helper, defined at instance-level. -->
    <p>{{bar}}</p>

</body>
</html>


希望它能起作用。

10-07 21:11