可能会提前询问此问题。但他们并没有帮我解决我的问题。以下是我的服务文件。错误TS2339:属性'access_token'不存在角2
import { Injectable } from '@angular/core';
import { Http, Headers, RequestOptions, Response } from '@angular/http';
import { CookieService } from 'angular2-cookie/core';
import { AppSettings } from '../app.settings';
import { Ticket } from '../_models/index';
@Injectable()
export class TicketService {
options= new RequestOptions();
public access_token:string;
constructor(
private http: Http,
private cookieService: CookieService
) {
let headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('Accept', 'application/json');
this.options = new RequestOptions({ headers: headers });
let userInfo = this.cookieService.getObject('userInfo');
if(userInfo){
//this.access_token = (userInfo.access_token)?userInfo.access_token:'';
}
}
}
在这里,我收到从饼干ACCESS_TOKEN来验证用户,并将其倾倒到一个变量的access_token。如果用户已经登录,则工作正常。但是,第一次执行npm start
时,它会生成错误错误TS2339:属性'access_token'不存在。所以明确需要评论this.access_token =(userInfo.access_token)?userInfo.access_token:'';这行,然后npm开始工作。我最初也定义了变量。但是,它仍然会产生一个错误。我没有得到我做错的地方。如果您遇到同样的问题并解决问题,请指导。
你尝试初始化变量吗?我认为TypeScript会在生成的JS中排除它:'public access_token:string ='';' – Arg0n
不正确。如果在代码的任何地方没有提及该属性,则只能通过TS或缩小来清除它。 –
你也尝试将'userInfo'标记为'any'类型吗? 'let userInfo:any = this.cookieService.getObject('userInfo');' – Arg0n