0

我有一个由 json 请求每隔几秒填充一次的视图模型。

viewModel = ko.mapping.fromJS([]);
...
getJSON(){
    ...
    ko.mapping.fromJS(data,viewModel);
}

然后我在 HTML 中有一些文本绑定。

<div id="mainContainer" data-bind='foreach: viewModel'>
    <span data-bind='text: name()'></span>
    <!-- ko foreach: items() -->
        <span data-bind='text: value()'></span>
    <!-- /ko -->
</div>

通常,这些值每 1-2 分钟更改一次。但是每次读取 JSON 时,模型都会“更新”并认为所有值都是“新的”。所以我不能使用“更新”。假设当这个值真的改变时我想做点什么。例如,绿色边框持续 2 秒。有没有办法在每次更新模型时评估值,并检查每个值是否旧值与新值不同?

另一个问题是我得到的数据是一个里面有对象的数组。[ { name: 'name1', items:[ {},{} ]} , { name: 'name2', items:[ {},{}] }, ... ]

所以,ko.mapping.fromJS(data),返回 [ ] !!必须使用 ko.mapping.fromJS(data, {}, viewModel); ,但我不知道它是否相同......

4

1 回答 1

1
于 2013-05-20T12:18:06.400 回答