【发布时间】:2019-09-20 21:08:12
【问题描述】:
我正在开发一个基于 Angular 7 的 Ionic 4 应用程序,并希望创建一个服务,作为单例实例提供给整个应用程序。
根据最新版本的 Angular 7 文档,您无需在 app.module.ts 的 providers 部分中指定服务,您可以轻松地使用 providedIn: 'root' 注释对服务进行注释,然后注入它在组件/页面中。
服务文件:
import { Injectable } from '@angular/core';
import { Storage } from '@ionic/storage';
@Injectable({
providedIn: 'root'
})
export class StorageService {
constructor(public storage: Storage) {}
...
}
然后我像这样将它注入到我的组件构造函数中:
import { StorageService } from '../services/storage.service';
@Component({
selector: 'app-add',
templateUrl: './add.page.html',
styleUrls: ['./add.page.scss'],
})
export class AddPage implements OnInit {
constructor(private storage: StorageService) { }
ngOnInit() {}
...
}
但是当我启动我的应用时,我得到了这个错误:
Uncaught (in promise): Error: StaticInjectorError(AppModule)[Storage]:
StaticInjectorError(Platform: core)[Storage]:
NullInjectorError: No provider for Storage!
【问题讨论】:
标签: javascript angular ionic-framework ionic4