在 Loopback 的 mixin 中使用自定义函数扩展模型

Extend model with custom function in mixin in Loopback

如何在 Loopback 中使用混合中的自定义函数扩展模型?

我有:

common/models/user.json

{
  "name": "user",
  "base": "User",
  "idInjection": true,
  "mixins": {
    "ModelRest": {}
  },
  ...
}

common/mixins/model-rest.js

module.exports = function (Model) {


  Model.hello = function() {
    console.log('hello!');
  };
 ...

}

但是在common/models/user.js

module.exports = function (User) {

  User.hello();
  ...
}

我有错误:

TypeError: User.hello is not a function

我做错了什么?感谢您的帮助。

访问其他模型方法的两种方法:

  1. 基本模型:在您的情况下,将用户的基本模型设置为 model-rest。

  2. User.app.models.ModelRest.hello();

模型设置后添加到模型中的 Mixins。您在设置阶段调用 hello

正确的是:

module.exports = function (User) {

  User.SomeMethod = function(){
    User.hello();
  }             
      ...
}