2015-07-17 3 views
13

Я довольно новичок в Aurelia (только использовал его несколько дней), и мне это нравится!Как создать услугу singleton в Aurelia?

Я знаю, как сделать сервис с Aurelia, но как я могу сделать эту службу одиночной, чтобы я мог обмениваться данными между несколькими ViewModels?

Спасибо

+0

должно быть конкретно – manetsus

+2

@manetsus, что вы имеете в виду? Я спрашиваю, как создать одиночную службу в Aurelia вместо инъецированного экземпляра в мой ViewModel. Я не уверен, могу ли я получить более конкретную информацию :-( –

+0

Stackoverflow - это платформа, на которой вы должны представить свою проблему, показывая некоторые усилия, которые вы сделали за ней. Вы должны сделать это до публикации вопроса. Представьте, где конкретно вы сложены ! – manetsus

ответ

21

Просто впрыснуть его

По умолчанию контейнер DI предполагает, что все одноэлементно экземпляр; один экземпляр для приложения. Однако вы можете использовать декоратор оформления, чтобы изменить это.

5

Итак, я понял, что думал об этом слишком тяжело. Я пытался зависеть от структуры (Aurelia), чтобы выполнить всю работу, но на самом деле это было простое изменение класса ES6, которое делает его экземпляром.

let instance = null; 
 

 
export class SingletonService { 
 

 
\t constructor() { 
 
\t \t if(!instance) { 
 
\t \t \t instance = this; 
 
\t \t } 
 

 
\t \t return instance; 
 
\t } 
 
}

Смежные вопросы