ノックアウトを学習してASP.NETコアアプリケーションに統合しようとしています。Foreachは最後の要素のみを繰り返す
その後function DayViewModel(number, name /*others*/)
{
this.dayNumber = number;
this.dayName = name;
//others
}
var MonthViewModel = function(days /*others*/)
{
this.monthDays = ko.observableArray(days);
}
$(function()
{
var tempDays = [];
@foreach(var day in Model.Days)
{
string dayName = day.DayNumber.ToString().PadLeft(2, '0') + " - " + Globals.GetDayName(Model.YearNumber, Model.MonthNumber, day.DayNumber, Globals.GetUICulture(Context));
@:tempDays.push(DayViewModel(@day.DayNumber, "@dayName" /*others*/);
}
var monthViewModel = new MonthViewModel(tempDays /*others*/);
ko.applyBindings(monthViewModel);
});
、テーブル::これは私が別の記事に従うことによって取得することができた最も遠い
<table id="mTable" class="table">
<thead>
<tr>
<th>@Html.DisplayNameFor(model => newModel.DayNumber)</th>
</tr>
</thead>
<tbody data-bind="foreach: monthDays">
<tr>
<td>
<a href="#" data-bind="text: dayName"></a>
</td>
</tr>
</tbody>
</table>
これは正しく配列内の項目数が同じため<tr>
要素を生成し、生成されたHTMLは、tempDays
にすべて正しい項目があることを示しています。
なぜノックアウトは最後の要素だけを繰り返すのですか?私がドキュメントで見つけることができない間違ったことは何ですか?
ありがとうございました。それは完全に働いた –