【发布时间】:2015-03-07 07:47:28
【问题描述】:
是否有任何最佳实践如何在 Sails.js 中实现控制器链接?例如我有这样的控制器:
FirstController.js
var FirstController = {
getPage: function(req, res){
var page = 1;
res.json({
page: page
});
}
};
SecondController.js
var SecondController = {
getPageSecond: function(req, res){
//how to call FirstController and then use that result?
}
};
我通常使用函数构造器先创建构造器,然后我的控制器可以调用它,但这是最好的方法吗?有时我还必须“链接”蓝图的动作,所以我重新创建蓝图并使其成为我的构造函数中的方法。有没有什么最佳实践可以让我们的控制器更加可重用?
【问题讨论】:
-
你能详细说明你为什么需要这个吗?通常不需要访问其他控制器。似乎您尝试为每个页面创建单独的控制器。我建议创建一些通用的 pageController,然后创建一个模型来存储每个页面的信息。然后,您可以从任何控制器从该模型访问尽可能多的页面。
-
var page只是一个例子。我有许多需要调用其他控制器的用例,例如: 1. 我需要find一些使用蓝图 API 的模型,然后我需要修改 JSON 结果,不仅仅是一个数组,还有一些元数据。 2. 我的控制器中有一个update方法。但我还需要updateCart,这不仅是更新,而且当这个控制器被调用时,它会update,然后在购物车模型中提供信息。基本上有没有关于如何链接控制器的最佳实践?或者这不是一个好主意,所以我对controller有误解?
标签: sails.js