Sails.js将多个控制器/模型放在一个视图中

Sails.js将多个控制器/模型放在一个视图中,sails.js,Sails.js,我一直在尝试sails,到目前为止,我已经能够显示数据库表模型中所有项的索引。但是,我有两个不同的模型,modelA和modelB,我想在views-/dashboard的根目录中将它们显示到一个名为dashboard的视图中 但是,我很难理解如何让不同的控制器将列表显示在仪表板上。我如何做到这一点,它可以用两个不同的控制器,如果是这样的话,如何做到。或者我可以创建一个名为dashboard的单独控制器来调用模型的不同实例吗 如果我理解正确,你需要一个从两个不同模型获取数据并将数据发送到视图的控

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

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


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

由于node现在支持它,因此我将使用async/await作为示例,但回调也是如此,但您必须嵌套调用或使用caolan async

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;
然后在您的视图中,您只需使用您定义的键的名称访问它…
instanceA
instanceB


如果这不是您的意思,请告诉我。

您将拥有一个带有仪表板功能(或w/e)的控制器,该控制器将呈现视图并向其传递所需的数据。或者,使用某个控制器呈现视图,并在视图中通过请求获取数据(您将从仅返回数据而不是视图的控制器操作获取数据),是否有方法使控制器指向其他目录中的视图?res.vew指向/views/mycontroller/dashboard,而dashboard位于/views/dashboard的根目录下。是的,res.view将视图的路径作为参数。你想放什么就放什么。此外,您可以在routes.js中配置路由,并在其中指定视图。