繁体   English   中英

类型“{}”上不存在 ionic2 属性

[英]ionic2 Property does not exist on type '{}'

我在离子框架的打字稿中得到一个json。
json是:

{
    "result": "success",
    "user": {
        "loggedIn": true,
        "name": "Nulra",
        "password": ""
    }
}

我打印数据:

console.log("NULRA CHECKING: " + data.result + " " + data.user);

它给出了错误:

Typescript Error

Property 'result' does not exist on type '{}'.

Property 'user' does not exist on type '{}'.

身份验证服务.ts:

login(credentials) {
    let opt: RequestOptions;
    let myHeaders: Headers = new Headers;

    myHeaders.set('Accept', 'application/json; charset=utf-8');
    myHeaders.append('Content-type', 'application/json; charset=utf-8');
    opt = new RequestOptions({
        headers: myHeaders
    })

    return new Promise((resolve, reject) => {
        this.http.get(apiUrl+'login/0/login?email='+credentials.email+'&password='+credentials.password, opt)
        .map(res => res.json())
        .subscribe(data => {
            this.data = data;
            resolve(this.data);
        },(err) => {
            reject(err);
        });
    });
}

在 login.ts 中:

doLogin(){
    this.authService.login(this.loginData)
    .then(data => {
        console.log("NULRA CHECKING: " + data.result + " " + data.user);
    }
    .catch(err => {

    });
}

有谁知道怎么处理? 因为我确认的 json 有结果和用户。 非常感谢。

当 console.log(data): 在此处输入图片说明

试试这个——

public userData: any = {};

doLogin(){
    this.authService.login(this.loginData)
    .then(data => {
        this.userData = data;
        console.log(`NULRA CHECKING: ${this.userData.result} ${this.userData.user}`);
    }
    .catch(err => {

    });
}

好吧,当我简单地调用 data['result'] 而不是 data.result; 时,我解决了这个问题。 对我来说,它只在我第一次执行 ionic serve 时出现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM