Sails.js在所有视图中加载对象

时间:2015-12-01 10:41:28

标签: javascript node.js express sails.js

我有一个带主菜单的简单网站。菜单上有“T恤,鞋子和配饰......”等类别。但它的动态。所有这些类别都在模型“类别”中,单词可以不同。

那么,如何在每个页面上呈现此菜单而不将数据传递到每个控制器上的视图,如:

Category.find(function(err, categories){
    res.view({categories: categories});
});

谢谢!

2 个答案:

答案 0 :(得分:0)

在单独的文件中定义标题,将其称为header.html,并使用

将其包含在layout.ejs中
<% include ../includes/header.html %>

并根据条件在每个页面上显示适当的菜单,是否应该通过向类别集合添加角色字段向普通用户或管理员显示。

答案 1 :(得分:0)

如果您想在所有页面上使用它,最简单的方法是在config/http.js中编写一个客户中间件函数,将categories添加到局部变量中。

请参阅sails docs - adding-or-overriding-http-middleware