Как создать однопользовательский сервис в Aurelia?
Я новичок в Aurelia (только использовал его несколько дней), и мне это нравится!
Я знаю, как сделать сервис с Aurelia, но как я могу сделать эту службу одноэлементной, чтобы я мог обмениваться данными между несколькими ViewModels?
Спасибо
Ответ 1
Просто введите его
По умолчанию контейнер DI предполагает, что все является экземпляром singleton; один экземпляр для приложения. Однако вы можете использовать декоратор оформления, чтобы изменить это.
Ответ 2
Итак, я понял, что слишком много думал об этом. Я пытался зависеть от структуры (Aurelia), чтобы выполнить всю работу, но на самом деле это было простое изменение класса ES6, которое делает его экземпляром.
let instance = null;
export class SingletonService {
constructor() {
if(!instance) {
instance = this;
}
return instance;
}
}