в соответствии с соглашением, вы можете создать класс со следующим ...
export class MyClass {
myProperty = 'foo';
myOtherProperty = { key:'value' };
constructor() {
// constructor stuff (optional of course)
}
myMethod() {
// do something
}
}
Тогда в вашей ViewModel, например ...
import { inject } from 'aurelia-framework';
import { MyClass } from 'path/to/my-class';
@inject(MyClass)
export class MyViewModel {
constructor(myClass){
this.myClass = myClass;
}
attached() {
console.log(this.myClass.myProperty);
this.myClass.myMethod();
}
}
То, как вы импортируете свой класс, зависит от того, написан он как модуль или нет. Если это не модуль, вам придется написать его как @ john-little упомянутый.
MyClass
автоматически будет одиночным, пока вы не сделаете его переходным (см. https://aurelia.io/docs/fundamentals/dependency-injection#object-lifetime-child-containers-and-default-behavior)