bootstrap(app, [providers])
yönteminde önyüklemeden sonra bile No Provider for FirebaseService
hatası alıyorum. Özel bir hizmeti başka bir özel hizmete nasıl enjekte edersiniz?
HTTP_PROVIDERS
bootstrapped ile
Http
hizmet enjekte edildiğinde işe yaradı, ama kendi hizmetine değiştirdikten sonra bir
No providers for FirebaseService
hata alırsınız.
FirebaseService
numaralı iğnenin yalnızca iyi bir şekilde enjekte edilerek her iki sunucuyu da enjekte edebilirim. contructor(@Inject(FirebaseService) firebase: FirebaseService){}
yapsam bile işe yaramaz, ancak benim anlayışım @Injectable()
dekoratörünün eklenmesinin aynı etkiye sahip olması gerektiğidir.
giriş-page.ts
import {Component} from '@angular/core';
import {UserService} from '../../Services/user.service';
import {FirebaseService} from '../../services/firebase.service';
import { UserModel } from '../../export';
@Component({
moduleId: 'app/PAGES/login-page/',
selector: 'login-page',
templateUrl: 'login-page.html',
styleUrls: ['login-page.css'],
providers: [ UserService]
})
export class LoginPage {
constructor(private userService: UserService) {}
user:UserModel = new UserModel();
hello: string = "You got yourself a login page, sir";
dostuff() {
console.log(this.user);
// this.userService.createUser(this.user);
}
}
main.ts
import { bootstrap } from '@angular/platform-browser-dynamic';
import { AppComponent } from './app.component';
import { FirebaseService } from './SERVICES/firebase.service';
bootstrap(AppComponent, [
FirebaseService
]);
UserService
import { Injectable, Inject } from '@angular/core';
import {FirebaseService} from './firebase.service';
import { UserModel } from '../export';
@Injectable()
export class UserService {
constructor(private firebaseService: FirebaseService) {}
public createUser(user: UserModel): any {
console.log(user);
// this.firebaseService.set(user)
}
public getUser(username: string): any {
// return this.firebaseService.get("users/" + username);
}
}
FirebaseService
@Injectable()
export class FirebaseService {
public get(path: string): any {
console.log(path);
}
public set(objectToSave: any) {
console.log(objectToSave);
}
}
Başvuru için, tam depo burada: https://github.com/ChuckkNorris/Ng2RcTest –