{{#each ...}}中的Expressjs app.locals无法访问

时间:2013-06-17 15:19:44

标签: node.js express handlebars.js locals

您好,我有一些非常简单的事情:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link rel="stylesheet" href="{{adminUrl}}/assets/css/bootstrap/bootstrap-responsive.min.css">
    <link rel="stylesheet" href="{{adminUrl}}/assets/css/bootstrap/bootstrap.min.css">

    <script type="text/javascript" src="{{adminUrl}}/assets/js/vendors/jquery-1.9.1.min.js"></script>
    <script type="text/javascript" src="{{adminUrl}}/assets/js/bootstrap/bootstrap.min.js"></script>
</head>
<body>

<div style="padding: 20px; background: #fafafa; border-bottom: solid 1px #eee">
    <a href="{{adminUrl}}/users/" class="btn">users list/no paging</a>
    <a href="{{adminUrl}}/create/" class="btn">create new user</a>
</div>

    <h1>List data:</h1>

    <ol>
        {{#each data}}
            <li>
                <div><a href="{{adminUrl}}/details/{{id}}"><b>{{username}} - {{id}}</b></a></div>
                {{email}}
                <div>&nbsp;</div>
            </li>
        {{/each}}
    </ol>


</body>
</html>

这是一个使用把手的快递视图。 'adminUrl'在app.locals中。

app.locals({
    adminUrl: _config.rootUrl
});

在css中,js和一个href链接在{{#each工作正常,但在{{#each ...没有。我该如何解决它?

1 个答案:

答案 0 :(得分:3)

{{../adminUrl}}块中尝试{{#each}},因为我相信把手会将上下文更改为data的当前成员,因此您需要..才能访问父上下文