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

标签 javascript arrays object knockout.js

  • 我在这里寻找这个问题的答案,但没有成功。

我有一个可观察数组,其中仅包含一个条目:

Array

我将其存储在self.user()

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

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

我已尝试以下方法来获取名字...

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 属性不是一个 observable,它只是 data 属性中的一个字符串,因此您不应该将它当作一个 observable 来调用。您的示例中唯一可观察到的显然是 self.user

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

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

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

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

关于javascript - 如何从 Observable Array 嵌套对象中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58331894/

相关文章:

javascript - 微小的MCE。添加跨度后无法继续输入

javascript - Firefox 和 Chrome 中未触发窗口 popstate 事件

ios - 需要根据来自响应的格式显示标签中的项目列表

c++ - 将数据文件读入数组

javascript - 使用 Lodash 转换对象数组

javascript - 在 Javascript/jQuery 中包装一个函数

JavaScript 突出显示网页中的 XPath 匹配项?

javascript - 使用额外的方法和语法糖扩展 Javascript 数组

javascript - 在 Javascript 中推送到 for 内的数组

c# - BeginRead 内存不足异常