刚开始使用 angular 2,遇到了我的第一个错误。我正在尝试创建用于从服务器获取数据的服务,但出现此错误
错误:无法解析 CourseService 的所有参数:(?)。在 SyntaxError.ZoneAwareError (http:……}
这是抛出错误 app/courses/courses.service.ts 的服务代码
import { Http } from '@angular/http';
export class CourseService {
private _courses : Object[];
public get courses() : Object[] {
return this._courses;
}
public set courses(v : Object[]) {
this._courses = v;
}
constructor(private http: Http) {
http.get("https://jsonplaceholder.typicode.com/posts").subscribe(data => {
this._courses = data.json();
});
}
}
此服务应该在 app/courses/courses.component.ts 中使用
import { Component } from '@angular/core'
import { CourseService } from "app/courses/course.service";
@Component({
selector: 'courses',
providers: [CourseService],
templateUrl: './courses.component.html',
styleUrls: ['./courses.component.css']
})
export class CoursesComponent {
title : string = "The title of the Course";
courses : Object[];
constructor(private courseService: CourseService) {
console.log("hello");
this.courses = courseService.courses;
}
}
和 app.module 包含
....
....
import { AppComponent } from './app.component';
import { CoursesComponent } from './courses/courses.component';
import { CourseService } from "./courses/course.service";
@NgModule({
declarations: [
AppComponent,
CoursesComponent,
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [CourseService],
bootstrap: [AppComponent, CoursesComponent]
})
export class AppModule { }
将 @Injectable() 放在 export class 之前。
@Injectable() 让 Angular 知道一个类可以与依赖注入器一起使用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句