10

当我在sails.js 中创建一个控制器并重新定义了一些标准方法时,如何调用该控制器的默认父方法?

module.exports = {
    create: function(req, res) {
        //test some parameters   
        if (condition) {
            //call regular super method, proceed as usual
            //_super(); <- how to do this?
        } else {
            //do some other things
        }
    }
};
4

1 回答 1

8

更新:对于 Sails >= v0.10.x,请参阅下面来自 @naor-biton的评论

如果您想访问默认实现(蓝图),从 v0.9.3 开始,您可以调用next()(控制器的第三个参数)。这是因为 Sails 基于中间件的 Express/Connect 概念,允许您将事物链接在一起。

请注意,此行为可能会在后续版本中发生变化,因为next()这也是您config/404.js为没有蓝图的操作调用默认 404 处理程序 ( ) 的方式。

如果您对使用蓝图感兴趣但事先运行一些逻辑,则更好的方法是不定义控制器操作并使用一个或多个策略,这些策略将事先运行。

于 2013-08-07T20:57:46.147 回答