Loopback:如何将模型的afterRemote添加到另一个模型

时间:2017-08-09 09:27:53

标签: loopbackjs strongloop loopback

我有通知模型,看起来像这样

"use strict";

module.exports = function(Notification) {


};

我有另一个模型是Post:

"use strict";

module.exports = function(Post) {
   Post.prototype.postLike = function(options, cb) {
          this.likes.add(options.accessToken.userId);

          cb(null, "sucess");
   };

   Post.remoteMethod("postLike", {
    isStatic: false,
    accepts: [{ arg: "options", type: "object", http: "optionsFromRequest" }],
    returns: { arg: "name", type: "string" },
    http: { path: "/like", verb: "post" }
  });
}

我想要的是在通知模型中添加Post的AfterRemote方法吗?

环回是否可能?

应该看起来像:

"use strict";

module.exports = function(Notification) {

  var app = require("../../server/server.js");
  var post = app.models.Post;

  post.afterRemote('prototype.postLike', function(context, like, next) {
    console.log('Notification after save for Like comment');
  });
};

但这不起作用。

注意:我可以发布模型本身,但我想在通知模型中添加所有通知逻辑,以简化和未来的自定义。

1 个答案:

答案 0 :(得分:1)

Loopback启动过程首先加载模型,然后在加载所有模型后调用启动脚本。如果您的目标是跨模型合并,那么最好在引导脚本中而不是在model.js文件中执行此操作。