【问题标题】:Angular2 typescript how to get object properties to display in templateAngular2 typescript如何获取要在模板中显示的对象属性
【发布时间】:2017-05-18 14:52:46
【问题描述】:

我正在学习 angular2 和 typescript,想知道为什么我无法访问模板中对象的属性值。

我的组件:

export class Farm{

    data:JSON;
    id: any;

    constructor(private nextService: NextService, navParams: NavParams){
        this.id = navParams.get("param1");

    }

    getFarmDetails(){

        this.data = this.nextService.fetchData(this.id)
        console.log(this.data)
    }
}

console.log(this.data) 在哪里给我Object {id: 1, name: "Leanne Graham", username: "Bret", email: "Sincere@april.biz", address: Object…}

在我的模板中有

<div>
    {{data}}
</div>

在我的屏幕上输出为 [object Object]

如何改为输出电子邮件或用户名等属性?

更新:如果我喜欢 {{data.email}},我会收到以下错误:

【问题讨论】:

    标签: typescript angular


    【解决方案1】:

    您可以像在 javascript 中一样访问这些属性。

    例如:

    {{data.email}} 
    

    如果数据是异步检索的,您可以使用 elvis 运算符 ?. 来避免数据为空时的错误。

    {{data?.email}}
    

    【讨论】:

    • 我试过了,但它抛出错误:原始异常:TypeError:无法读取未定义的属性“电子邮件”
    • 谢谢!你刚刚为我节省了一个小时的调试问题和面瘫。 “elvis”算子有时也被称为“安全导航算子”
    • @SoFLy 这就是 SO 的用途。 :)
    猜你喜欢
    • 2017-09-03
    • 1970-01-01
    • 2019-06-07
    • 2017-04-19
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    • 1970-01-01
    相关资源
    最近更新 更多