arbeite ich bin relativ neu in der Verwendung der Knockout-JavaScript-Bibliothek. Ich habe ein Problem, eine beobachtbare Eigenschaft zu erhalten, die ein Objekt eines anderen Objekts ist. Hier ist mein Code:Javascript Knockout verschachtelte Objekte Bindung nicht
function Customer(id) {
var self = this;
self.customer_id = ko.observable(id);
self.custnum = -1;
self.busname = ko.observable("");
self.address = "";
self.city = "";
self.state_id = "";
self.zipcode = "";
self.cnt_sal_id = "";
self.cnt_first_name = "";
self.cnt_last_name = "";
self.cnt_title = "";
//alert("customer: " + self.customer_id());
}
var CustomerEntryViewModel = function(date) {
var self = this;
self.last_update = ko.observable(date);
self.customer = ko.observable(new Customer(""));
self.addCustomer = function (id) {
var c = new Customer(id);
self.customer = c;
alert("New id: " + self.customer.customer_id() + " num: " + c.custnum);
}
self.customerSearch = function() {
}
self.editCustomer = function (customer_id) {
}
self.save = function(customer) {
}
}
Wie gehe ich über die Bindung an die Eigenschaften im Customer-Objekt. Ich versuche, wie so typisch Javascript Punktnotation zu verwenden: customer.customer_id
Hier ist der HTML ist, die die Daten bindet:
<div class="field-input" style="margin-bottom:10px;">
<input type="text" id="customer_id" style="width:100%;"
data-bind="jqxInput: { placeHolder: 'Customer #', value:
customer().customer_id, height: 21, width: 208,
minLength: 1, disabled: true }"/>
</div>
@ user2864740 - ah, das http://knockoutjs.com/documentation/custom-bindings-c ontrolling-descendant-bindings.html Scheint echt cool. Zu meiner Leseliste hinzugefügt :) –
Adam, danke für die Antwort. Ob Sie es glauben oder nicht, ist dieser Teil funktioniert: alert ("New-ID:" + self.customer.customer_id() + "num:" + c.custnum); Die gleiche Referenz funktioniert jedoch nicht in meinen HTML-Bindungen. – user3088317