2013-04-22 3 views
0

Привет, я просто изучаю нокаут, и я столкнулся с проблемой, которую я не могу понять. У меня есть этот объект:Получение данных от объекта внутри объекта

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; } 

И населен от проблемы service.My в том, что я знаю, как получить доступ к данных из этого объекта, чтобы я мог отображать его на html-представлении.

Я судимый эти версии:

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

Но не кажется, work.The данных получает заселен в объект правильного путь, что я уверен, что и я могу Acces других полей из данных например, название:

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

И это работает.

Как я могу получить доступ к данным?

ответ

3

Я думаю, что вы хотите

profileStudentPersonalDetails().StudentNumber 

наблюдаемыми являются функциями. Чтобы получить объекты, которые они представляют, вам нужно вызвать функцию. Затем вы можете получить доступ к свойству из результата функции.

Смежные вопросы