【发布时间】:2018-12-19 12:11:00
【问题描述】:
我正在尝试在另一个服务中注入一个服务:
- instagram.service > event.service.ts(主要服务) instagram 是要在 event.service 中注入的服务。
我已经在 app.module 中声明了 instagram.service.ts。
我得到的错误是:
未捕获的错误:无法解析 Instagram 的所有参数:(?)。 在 syntaxError (compiler.js:1021) 在 CompileMetadataResolver.push../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver._getDependenciesMetadata (compiler.js:10922) 在 CompileMetadataResolver.push../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver._getTypeMetadata (compiler.js:10815) 在 CompileMetadataResolver.push../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver._getInjectableTypeMetadata (compiler.js:11037) 在 CompileMetadataResolver.push../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getProviderMetadata (compiler.js:11046) 在 compiler.js:10984 在 Array.forEach () 在 CompileMetadataResolver.push../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver._getProvidersMetadata (compiler.js:10944) 在 CompileMetadataResolver.push../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getNgModuleMetadata (compiler.js:10663) 在 JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._loadModules (compiler.js:23876)
在运行了一些测试后,我注意到该错误仅在我导入 Http 组件(该组件也在 app.module 中声明)时发生。
我错过了什么吗?
events.service.ts
import { Injectable } from '@angular/core';
import { AngularFireStorage } from '@angular/fire/storage';
import { Event } from './events.model';
import { AngularFireDatabase, AngularFireList } from '@angular/fire/database';
import { Instagram } from './instagram.service';
@Injectable()
export class EventService {
event: AngularFireList<Event[]>;
NODE = 'events/';
constructor(private instagram: Instagram, private db: AngularFireDatabase, private storage: AngularFireStorage) {}
getAllPictures(tag: string) {
this.instagram.getAllPictures(tag);
}
}
instagram.service.ts
import { Http } from '@angular/http';
export class Instagram {
tag: string;
private BASE_URL = 'https://www.instagram.com/explore/tags/' + this.tag + '/?__a=1';
constructor(public http: Http) {}
getAllPictures(tag: string) {
this.tag = tag;
return this.http.get(this.BASE_URL).pipe().subscribe(
data => {
console.log(data);
},
(error) => {
console.log(error);
}
);
}
}
【问题讨论】:
-
尝试使用 HttpClient 代替 http
-
嘿@bat7 我试过了,但仍然遇到同样的错误。 ://
标签: angular typescript angular-services