Knockout Observable集合的属性值未在UI中更新

时间:2014-02-12 16:13:43

标签: knockout.js observablecollection

  vm.SortDxCodeUp = function (currentitem, previousItem, dxCodesObservable,codeType) {

        var currentDxCode = currentitem;
        var previousDxCode = previousItem;

        if (currentDxCode.Index > 0)
        {
           var tempCurrentSortOrder = currentDxCode.SortOrder;
           var tempPreviousSortOrder = previousDxCode.SortOrder;

           dxCodesObservable()[currentitem.Index - 1] = currentDxCode;
           dxCodesObservable()[currentitem.Index] = previousDxCode;

           dxCodesObservable()[currentitem.Index - 1].SortOrder = tempPreviousSortOrder;
           dxCodesObservable()[currentitem.Index].SortOrder = tempCurrentSortOrder;

           dxCodesObservable.valueHasMutated();
        }
 };

我正在修改一个可观察的数组,它在上面的代码中是dxCodesObservable。 SortOrder是该数组中的属性。我正在修改它的值,但该值不会反映在UI中。我已经检查过该数组确实包含了属性的正确值。 这是否发生,因为SortOrder属性不是集合中的可观察对象?

1 个答案:

答案 0 :(得分:1)

  

这是否发生,因为SortOrder属性不是可观察的   在集合内?

是的,这正是原因。