javascript - 从对象内部的对象获取数据

标签 javascript knockout.js

嗨,我刚刚学习 knockout ,我面临着一个我似乎无法理解的问题。 我有这个对象:

    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 View 上。

我尝试过这个版本:

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

但似乎不起作用。我确信数据会以正确的方式填充到对象中,并且我能够访问数据中的其他字段,例如标题:

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

这有效。

如何访问数据?

最佳答案

我想你想要

profileStudentPersonalDetails().StudentNumber

可观察量是函数。要获取它们代表的对象,您需要调用该函数。然后,您可以通过函数的结果访问该属性。

关于javascript - 从对象内部的对象获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16147637/

相关文章:

javascript - 获取未选中复选框的值

javascript - c3 图表中的多线标签

javascript - Java Nashorn 相当于在 Javascript 中将对象推送到数组

javascript - Observable 数组没有向我的前端表提供数据

javascript - Knockoutjs super 基础知识

javascript - Google Chrome 即时编辑 Javascript

javascript - NoSuchMethod webview 评估javascript

javascript - Aurelia 中的自定义绑定(bind)处理程序

javascript - 使用 Knockout js 自定义绑定(bind) div

javascript - KnockoutJS 将时间戳拆分为月份下拉列表和年份文本输入