如何从ModelA.js中调用ModelB.js的方法?

Ben*_*ten 1 javascript node.js strongloop loopbackjs

我正在使用loopback 2.0.

我使用yeoman生成器生成了我的模型,并为每个模型添加了一个js文件以扩展其行为.

如何在ModelB中调用ModelA中的方法?

文件夹结构:

/common
  /models
    Car.json
    Car.js
    Engine.json
    Engine.js
...
Run Code Online (Sandbox Code Playgroud)

Car.js:

module.exports = function(Car) {
  Car.drive = function(destination, fn) { ... }
  ...
};
Run Code Online (Sandbox Code Playgroud)

的engine.js:

module.exports = function(Engine) {
  Engine.doSomething = function(something, fn) { 
    // *** Here is where I want to invoke a method from the Car.js
    var loopback = require('loopback');
    var Car = loopback.models.Car;
    Car.drive('49.1234,12.1234', fn);
    // ***
  }
  ...
};
Run Code Online (Sandbox Code Playgroud)

小智 6

Engine等模型类将具有一个属性应用程序,以提供对其他模型的访问,例如:

module.exports = function(Engine) {
  Engine.doSomething = function(something, fn) { 
    // *** Here is where I want to invoke a method from the Car.js
    var Car = Engine.app.models.Car;
    Car.drive('49.1234,12.1234', fn);
    // ***
  }
  ...
};
Run Code Online (Sandbox Code Playgroud)