api.service.tsサービスでCookieが未定義です。コンポーネントにクッキー値が存在する|角度
import { Injectable, Inject } from '@angular/core';
import { Http, Headers } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/throw';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/timeout';
import 'rxjs/add/operator/retry';
import { CacheService } from './cache.service';
import { AuthService } from '../services/auth.service';
import { CookieService } from 'angular2-cookie/core';
@Injectable()
export class ApiService {
constructor(
public _http: Http,
private _auth: AuthService,
private _cookie: CookieService,
@Inject('isBrowser') public isBrowser: boolean
) {}
get(){
console.log(this._cookie.get('Token'));//undefined
}
}
controller.component.ts
import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { ApiService } from './api.service';
import { ReviewComponent } from '../shared/+review/review.component';
import { CookieService } from 'angular2-cookie/core';
// import { ModelService } from '../shared/model/model.service';
@Component({
selector: 'mall',
templateUrl: './mall.component.html',
styleUrls:['./mall.component.css'],
providers: [ ApiService, CookieService ]
})
export class MallComponent implements OnInit {
constructor(private _api: ApiService, private route: ActivatedRoute, private _cookie: CookieService) {}
ngOnInit(){
this._cookie.get('Token');// Token => value
this._api.get(); //Token => undefined
}
}
私は、この動作を理解していません。クッキーはコントローラに直接アクセスするときに存在しますが、サービスを介してアクセスするときは定義されていません。
サービス経由でCookieにアクセスする方法はありますか?
https://github.com/salemdar/angular2-cookieと角度ユニバーサル。
@Neel uがさえ疑問に提供されるリンクのいずれかをチェックされていますか?最初に質問を勉強してください...問題を理解し、合理的な声明で返信してください。 –
なぜ 'ApiService.get'は値を返しませんか?それは意味をなさない。 –
@AluanHaddad私はその理由を知っています。そうでなければ、この質問の必要はありませんでした... –