ListView에 해당 객체의 최신 세부 정보가 표시되지 않는 문제가 있습니다. dataSource는 WinJS.Binding.List 개체의 createSorted method을 호출하여 만들어집니다.기본 객체가 변경 될 때 ListView가 업데이트되지 않습니다
var obj = {
title: 'First item',
priority: 2
};
그리고 나는 /이 같은 데이터 소스를 설정 생성 : 각 객체는 다음과 같습니다
<div id="itemTemplate" data-win-control="WinJS.Binding.Template">
<div>
<h4 data-win-bind="innerText: title"></h4>
</div>
</div>
변화 핸들러 :
이sortedItemList = itemList.createSorted(function (lhs, rhs) {
return rhs.priority - lhs.priority;
});
listView.itemDataSource = sortedItemList.dataSource;
ListView에 대한 ItemTemplate을은 다음과 같습니다 두 필드는 다음과 같습니다.
titleControl.onchange = function() {
curItem.title = titleControl.value;
sortedItemList.notifyMutated(sortedItemList.indexOf(curItem););
};
priorityControl.onchange = function() {
curItem.priority = priorityControl.value;
sortedItemList.notifyMutated(sortedItemList.indexOf(curItem););
};
createSorted에 대한 설명에 따르면 객체가 변경 될 때마다 notifyMutated를 호출해야합니다. 우선 순위를 변경하면 ListView가 항목을 적절히 이동합니다. 그러나 제목을 편집하면 ListView가 새 제목을 표시하도록 업데이트되지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
JS 템플릿을 사용하는 경우이 코드는 어떻게 작동합니까? – rbyrne