Javascript Knockout.js显示可观察对象
我有一个票证可观察模型,其中包含一个用户可观察模型,我想显示User->Firstname和->Lastname字段。Firstname字段显示正确,但在我出错之后 HTMLJavascript Knockout.js显示可观察对象,javascript,razor,knockout.js,observable,Javascript,Razor,Knockout.js,Observable,我有一个票证可观察模型,其中包含一个用户可观察模型,我想显示User->Firstname和->Lastname字段。Firstname字段显示正确,但在我出错之后 HTML <span data-bind="text: manageLiveTicket.CardID"></span> <span data-bind="text: manageLiveTicket.UserID"></span> <span data-bind="text:
<span data-bind="text: manageLiveTicket.CardID"></span>
<span data-bind="text: manageLiveTicket.UserID"></span>
<span data-bind="text: manageLiveTicket.User().FirstName"></span>
用户模型
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);
}
}
我猜在一些更改之后,您的
User()
函数(或computed
)返回undefined
。尝试data bind=“if:manageLiveTicket.User(),text:manageLiveTicket.User().FirstName”
。另外,请显示您的视图模型。添加了它:D如果我更改它,我会遇到以下错误:多个绑定(if和text)正试图控制同一元素的子体绑定。您不能在同一个元素上同时使用这些绑定。
它不是未定义的,并且在页面上显示正确的文本,因为我遇到了这个错误,所以它不起作用。我确实希望您注册组件/函数并将其应用于DOM(使用ko.applyBindings(…))?什么是manageLiveTicket
,它位于哪里?
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);
}
}
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);
}
}