从对象中的对象获取数据

Getting data from an object inside an object

本文关键字:对象 数据 获取      更新时间:2023-09-26

你好,我正在学习淘汰赛,我遇到了一个我似乎无法理解的问题。我有这个对象:

    var studentPersonalDetails = ko.observable();
    var isInitialized = false;
    var vm = {
        //bindable
        title: ko.observable('Profile'),
        dataLoading: ko.observable(false),
        hasErrors: ko.observable(false),
        errorMessage: ko.observable(''),
        //data
        profileStudentPersonalDetails: studentPersonalDetails,      
        //operations
        activate: activate
    };
    return vm;

profileStudentPersonalDetails相当于这个来自服务器的c#对象:

    public int? StudentNumber { get; set; }
    public string Supervisor { get; set; }
    public bool CanEdit { get; set; }
    public string PersonId { get; set; }     
    public string FirstName { get; set; }
    public string MiddleName { get; set; }
    public string LastName { get; set; }
    public string FullName { get; set; }

从服务填充。我的问题是,我知道如何访问这个对象的数据,所以我可以在html视图上显示它。

我试过以下版本:

<strong data-bind="text: StudentNumber">
<strong data-bind="text: profileStudentPersonalDetails.StudentNumber">

但似乎没有工作。数据以正确的方式填充到对象中并且我能够访问数据中的其他字段例如title:

<strong data-bind="text: title">

这是可行的

如何访问数据?

我想你要

profileStudentPersonalDetails().StudentNumber

可观察对象是函数。要获得它们所表示的对象,需要调用该函数。然后,您可以根据函数的结果访问该属性。