0
私のビューに観測可能な配列コレクションの合計長さを表示する方法については助けが必要です。試してみると常に結果はゼロです。以下はサンプルです。 MyVM.jsはここ強く型付けされた観察可能なKnockout.jsの配列のアイテムの総数を取得
//Model
var Course = function (data) {
var self = this;
self.title = ko.observable(data.Title);
self.creditHour = ko.observable(data.CreditHour);
self.result = ko.observableArray(data.result);
return self;
}
//View Model
var CourseList = function() {
var self = this;
self.courses = ko.observableArray([]);
$.ajax({
type: "GET",
url: '/Student/Register_For_Courses',
contentType: "application/json; charset=utf-8",
datatype: 'json',
traditional: true,
success: function (data) {
ko.utils.arrayForEach(data, function (data) {
self.courses.push(new Course(data))
});
},
error: function (err) {
alert(err.status + " : " + err.statusText);
}
});
//Get total of array collection
tHour = self.courses().length;
// button functions
removeCourse = function (course) { self.courses.remove(course); }
}
$(document).ready(function() {
ko.applyBindings(new CourseList());
});
ファイル
<tr>
Total CH<td data-bind="text:tHour"></td>
</tr>
問題はtHourではなく、配列の期待長さの0を返しているということである私の見解です。
*「厳密に型付けされた観察可能なアイテムの配列をknockoujsで取得する」「強く型付けされている」という意味が不明です。これはJavaScriptです。何も厳密にタイプされていません。 –