DeeplessHole
@DeeplessHole
Студент матмеха СпбГУ

Как создавать и использовать Angular 2 сервис в сервисе (ES5)?

Принципиально, чтобы код был на JavaScripte(ES5).
Есть сервис проектов(ProjectsService) и зависящий от него сервис файлов проекта(FilesService). Сервис файлов будет вызываться в дочернем компоненте компонента проектов.
Т.е.
app.ProjectsService = ng.core
    .Class({
        constructor: function ProjectsService() { ... }
    });
app.FilesService = ng.core
    .Class({
        constructor: [app.ProjectsService, function FilesService(projectsService) { 
            this._projectsService = projectsService;
            ...
        }]
    });
app.Cmp = ng.core
    .Component({
        ...,
        "providers" : [app.FilesService] //ProjectsService возьмем у родительского компонента
    })
    .Class({
        constructor: [
            app.FilesService, // каким образом передать экземпляр ProjectsService родительского компонента?
            function(filesService)  {
                this._filesService = filesService;
                ...
            }
        ]
    });
  • Вопрос задан
  • 304 просмотра
Решения вопроса 1
DeeplessHole
@DeeplessHole Автор вопроса
Студент матмеха СпбГУ
Оказалось, все очень просто:
app.Cmp = ng.core
    .Component({
        ...,
        "providers" : [app.FilesService] //ProjectsService возьмем у родительского компонента
    })
    .Class({
        constructor: [
            app.ProjectService,
            app.FilesService, 
            function(projectService, filesService)  {
                this._projectService = projectService;
                this._filesService = filesService;
                ...
            }
        ]
    });
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы