Sails.js将多个控制器/模型转换为一个视图

时间:2017-03-01 20:58:35

标签: sails.js

我一直在尝试风帆,到目前为止,我已经能够显示数据库表模型中所有项目的索引。但是,我有两个不同的模型,modelA和modelB,我想将它们显示在视图根目录中名为dashboard的单个视图中 - / dashboard。

但是,我很难理解如何让不同的控制器将列表显示在仪表板上。如何完成这项工作,可以使用两个不同的控制器完成,如果是这样的话。或者我可以创建一个名为dashboard的独立控制器来调用模型的不同实例吗?

我很难缠绕这个......

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您需要一个控制器从两个不同的模型中提取数据并将该数据发送到视图中。

由于节点现在支持它,我会使用async / await作为示例,但它与回调相同但你必须嵌套你的调用或使用caolan异步。

const DashBoardController = {
  async show(req, res){
    const instanceA = await ModelA.findOne(1) // I used a hardcoded number for simplicity
    const instanceB = await ModelB.findOne(1)
    res.view('mycrontroller/dashboard', {instanceA, instanceB})
  }
}

export DashBoardController;

然后在您的视图中,您只需使用您定义的键的名称访问它... instanceAinstanceB

如果那不是你的意思,请告诉我。