Как создать общий сервис (как Angular), но в ванильном Typescript Nativescript - PullRequest
0 голосов
/ 23 октября 2018

я использую в Angular и Nativescript.Я хотел бы попробовать шаблон Typescript only for nativescript (tns create myApp --template tsc) ... но мне нужно иметь общую службу, как в Angular ... можно ли это сделать с помощью Nativescript Vanilla typcript?

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 27 октября 2018

Вы можете просто использовать шаблон синглтона.В TypeScript это будет выглядеть следующим образом.

export class SharedService {
  static instance = null;

  constructor() {
      if (SharedService.instance !== null) {
         return SharedService.instance;
      } else {
         SharedService.instance = this;
      }
  }
}

Это создаст экземпляр только в первый раз, затем он будет повторно использовать первый для любого другого вызова.Поэтому, даже если вы сделаете 200 вызовов на new SharedService(), у вас всегда будет только один экземпляр в вашем приложении.

0 голосов
/ 23 октября 2018

Если вы использовали Angular, вы должны знать о внедрении зависимостей, которое представляет собой не что иное, как мудрое создание экземпляров и их повторное использование по мере необходимости.

Короче говоря, все, что вам нужно сделать, - это создать свой экземпляр своегокласс и использовать его каждый раз.Например,

class Service {
  ...
}

let instance;
export function getService() {
  if (!instance) {
     instance = new Service ();
  }
  return instance;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...