在{{#each …}}中的Expressjs app.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> 

这是使用车把的expressjs视图。 'adminUrl'在app.locals中。

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

在CSS中,js和一个href之外的链接{{#each可以正常工作,但是在{{#each …不。 我如何解决它的工作?

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

Interesting Posts