我剛從Knockout開始並運行一個多站點課程。 我對基於父陣列的計算財產(大概基本的)問題:基於外部陣列的計算屬性Knockout JS
考慮下面的代碼我怎麼讓它工作,使Amount
屬性在my.vm.attendees
每個項目始終是totalCost
除以數的與會者。例如。 4名參加者的收款金額應爲25. 這應在您添加和移除項目時自動更新。
<script type="text/javascript">
$(function() {
var total = 100;
//Attendee construction
my.Attendee = function() {
this.Name = ko.observable();
this.Amount = ko.computed(function() {
return total/this.numberOfAttendees;
}, my.vm);
};
my.vm = {
//observable array of attendees
attendees: ko.observableArray([new my.Attendee()]),
addAttendee: function() {
my.vm.attendees.push(new my.Attendee());
},
numberOfAttendees: function() {
my.vm.attendees.lenght + 1; //zero based
}
}
ko.applyBindings(my.vm);
});
</script>