Я перевожу мое приложение в режим отложенной загрузки. Я закончил со страницами, каналами и директивами, но теперь очередь за провайдерами / услугами и некоторыми другими модулями.
Это был мой app.module
:
...
import { FileUploadModule } from "ng2-file-upload";
import { CloudinaryModule } from "@cloudinary/angular-5.x";
import * as cloudinary from "cloudinary-core";
import { ImageUploadProvider } from "../services/image-upload/image-upload";
...
imports: [
...
FileUploadModule,
CloudinaryModule.forRoot(cloudinary, {
cloud_name: "cloudName",
upload_preset: "cloudCode"
}),
...
]
providers: [
...
ImageUploadProvider
...
]
Теперь эти ссылки удалены из этого файла.
Мне нужно все это на моем new-recipe
компоненте. Для этого я добавил это в new-recipe.module
:
import { ImageUploadProvider } from "../../services/image-upload/image-upload";
...
providers: [
ImageUploadProvider
]
Что еще мне нужно? Я также создал image-upload.module
, но не уверен, что это правильно:
import { NgModule, ModuleWithProviders } from '@angular/core';
import { FileUploadModule } from "ng2-file-upload";
import { CloudinaryModule } from "@cloudinary/angular-5.x";
import * as cloudinary from "cloudinary-core";
import { ImageUploadProvider } from '../services/image-upload/image-upload';
@NgModule({
imports: [
FileUploadModule,
CloudinaryModule.forRoot(cloudinary, {
cloud_name: "cloudName",
upload_preset: "cloudId"
})
],
exports: [
CloudinaryModule
]
})
export class ImageUploadProviderModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: ImageUploadProviderModule,
providers: [ImageUploadProvider] // <-- is this necessary?
};
}
}
Нужно ли импортировать этот новый модуль внутри new-recipe.module
и удалить ссылку на провайдера? Как я могу получить доступ из своих функций в new-recipe
к this.imageUploadProvider?