У меня есть наблюдаемая модель Ticket, которая содержит наблюдаемую пользователем модель, и я хочу отобразить поля Пользователь-> Имя и -> Фамилия.Поля Firstname отображаются правильно, но после того, как я получил ошибку.
HTML
<span data-bind="text: manageLiveTicket.CardID"></span>
<span data-bind="text: manageLiveTicket.UserID"></span>
<span data-bind="text: manageLiveTicket.User().FirstName"></span>
ОШИБКА
knockout-3.4.2.js:314 Uncaught TypeError: Unable to process binding "text: function(){return manageLiveTicket.User().FirstName }"
Message: Cannot read property 'FirstName' of undefined
at text (eval at parseBindingsString (knockout-3.4.2.js:280), <anonymous>:3:87)
at update (knockout-3.4.2.js:448)
at function.a.B.i (knockout-3.4.2.js:313)
at Function.Uc (knockout-3.4.2.js:204)
at Function.Vc (knockout-3.4.2.js:201)
at Function.U (knockout-3.4.2.js:200)
at Object.a.m.a.B (knockout-3.4.2.js:193)
at knockout-3.4.2.js:313
at Object.r (knockout-3.4.2.js:24)
at m (knockout-3.4.2.js:306)
ViewModels
LiveTicket
function LiveTicketModel(data) {
var _self = this;
this.ID = ko.observable(0);
this.UserID = ko.observable();
this.TicketID = ko.observable();
this.CardID = ko.observable();
this.User = ko.observable();
this.Ticket = ko.observable();
this.StartDate = ko.observable();
if (data != null) {
_self.ID(data.ID);
_self.UserID(data.UserID);
_self.TicketID(data.TicketID);
_self.CardID(data.CardID);
_self.User(data.User);
_self.Ticket(data.Ticket);
_self.StartDate(data.StartDate);
}
}
UserModel
function UserModel(data) {
var _self = this;
this.id = ko.observable(0);
this.Email = ko.observable();
this.FirstName = ko.observable();
this.LastName = ko.observable();
this.UserID = ko.observable();
if (data != null) {
_self.id(data.ID);
_self.Email(data.Email);
_self.FirstName(data.FirstName);
_self.LastName(data.LastName);
_self.UserID(data.UserID);
}
}