Hi,
I am new to ionic and using ionic 2.
Below is my bug. After trying for about 12 hours, I am not making any headway.
Uncaught (in promise): Error: No provider for Subject!
Error: No provider for Subject! at injection
Error (http://localhost:8100/build/main.js:1728:86) at noProvider
Error (http://localhost:8100/build/main.js:1766:12)
at ReflectiveInjector_._throwOrNull (http://localhost:8100/build/main.js:3267:19)
at ReflectiveInjector_._getByKeyDefault (http://localhost:8100/build/main.js:3306:25)
at ReflectiveInjector_._getByKey (http://localhost:8100/build/main.js:3238:25)
at ReflectiveInjector_.get (http://localhost:8100/build/main.js:3107:21)
at AppModuleInjector.NgModuleInjector.get (http://localhost:8100/build/main.js:4054:52)
at SpeakersModuleInjector.NgModuleInjector.get (http://localhost:8100/build/main.js:4054:52)
at resolveDep (http://localhost:8100/build/main.js:11514:45)
at createClass (http://localhost:8100/build/main.js:11370:91)
Ionic Framework: 3.3.0
Ionic App Scripts: 1.3.7
Angular Core: 4.1.2
Angular Compiler CLI: 4.1.2
Node: 7.9.0
OS Platform: Linux 4.4
Navigator Platform: Linux x86_64
User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36
MY PROVIDER
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
import 'rxjs/Rx';
import { Subject } from '../../models/Subject';
@Injectable()
export class SubjectProvider {
constructor(public http: Http, public subject: Subject) {
console.log('Hello SubjectProvider Provider');
}
getSubjects(subject) {
return this.http.get('/api/api/subject')
.map(res => res.json());
}
}
MY PAGE COMPONENT
import { Subject } from 'rxjs/Rx';
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { SubjectProvider } from '../../providers/subject/subject';
@IonicPage()
@Component({
selector: 'page-speakers',
templateUrl: 'speakers.html',
providers: [SubjectProvider],
})
export class Speakers {
items: any;
subject:any;
constructor(
public navCtrl: NavController,
public navParams: NavParams,
private subjectProvider: SubjectProvider,) {
}
ionViewDidLoad() {
console.log('ionViewDidLoad Speakers');
}
getSubjects(subject) {
this.subjectProvider.getSubjects(subject).subscribe(response => {
console.log(response);
this.items = response.data.children;
})
}
}
MODEL
import { S3File } from './S3File';
import { Role } from './Role';
import { Permission } from './Permission';
export class Subject{
id:String;
authToken:String;
pushToken:String;
emailAddress:String;
password:String;
firstName:String;
lastName:String;
creationDate:Date;
picture:S3File;
subjectRoles:Role[];
subjectPermissions:Permission[];
constructor(){
}
}
Kindly help!!!
PS: My first post. All I am working with is an API.