如何从 Observable Array 嵌套对象中获取值

How to get value out of Observable Array nested object

我有一个只包含一个条目的可观察数组:

我把它存储在 self.user()

POSData.Users.getByEmail(sEmail)
        .then(data => {
        //console.log(data)
        self.user.push(data);
    })

现在我只想提取一些值并将它们分配给自己的可观察对象,但是......我不能。

我尝试了以下方法来获取 firstName...

console.dir(self.user());

    //console.log(self.user()[0].data.firstName());
    //console.log(self.user().firstName());
    //console.log(self.user().data.firstName());
    //console.log(self.user()[0].data.firstName());
    //console.log(self.user().data[1].firstName());


有谁知道如何向下钻取并获取我想要的信息?

感谢观看。

约翰

您正在将从服务返回的原始数据存储到数组中。您应该以该形式访问该数据的成员。 firstName 属性 不是一个可观察的,它只是 data 属性 中的一个字符串,所以你不应该把它当作一个可观察的来调用。您的示例中唯一可观察到的显然是 self.user.

根据您的屏幕截图,您的新数据如下所示:

{
  data: {
    firstName: 'John',
    lastName: 'Smith'
  },
  message: 'User retrieved successfully',
  status: null
}

如果您想在 user 数组中获取此对象的名字,您可以像这样访问它:

self.user()[0].data.firstName