こんにちは、ノックアウト js の学習と基本的にクライアント側でのプログラミングの表面をかじっているだけです。サーバーで Web API を使用して、クライアントにデータを送信しています。これはサーバーからのモデルです。
public IEnumerable<POC_GetUpcomingLessons_Result> UpcomingLessons { get; set; }
public IEnumerable<POC_GetUpcomingExams_Result> UpcomingExams { get; set; }
public IEnumerable<POC_StudentTasks> ToDoList { get; set; }
コードをデバッグしようとしたところ、必要なデータを含むオブジェクトが返されたため、データがクライアントに到達したことを確認しました。これは、クライアント側で作成しているコードです。
var dashboardObservableCollection = ko.observableArray();
var isInitialized = false;
var vm = {
dashboard: dashboardObservableCollection,
//operations
refreshData: refreshData,
activate: activate
};
console.log("I got here");
return vm;
function activate() {
logger.log("Dashboard View Activated", null, 'dashboard', true);
if (!isInitialized) {
isInitialized = true;
...
return fetchModulesData();
}
}
function fetchModulesData() {
return dataService.getDashboard(1200528)
.then(fetchModulesCompleted)
.fail(fetchDataFailed);
function fetchModulesCompleted(data) {
dashboardObservableCollection(data.ToDoList);
debugger;
vm.dataLoading(false);
}
Data here は、ToDoList のみを取得するために選択した 3 つの IEnumerables すべてを取得します。
これはビューです:
<ul class='to-do' data-bind="foreach: dashboard">
<!--ko compose: {view: 'dashboard/toDoList'} -->
<!--/ko-->
</ul>
<li>Fill in initial evaluation
<ul>
<li class="course icon" data-bind="text : ModuleName"></li>
<li class="courses icon">
<a href="#" data-bind="text : CourseName"></a>
</li>
<li class="teacher icon" data-bind="text: TeacherName"></li>
</ul>
どこで間違いを犯しているのかわかりませんが、データはクライアントに届きます。ビューに表示できないようです.foreachにも入りません.何が間違っていますか?