嗨,我刚刚学习 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/