【发布时间】:2016-02-01 18:28:22
【问题描述】:
我有一个表格,其中数据由我的控制器中的 javascript 间隔函数定期更新:
var model = this.getview().getModel();
var updateModel = setInterval(function(){
model.loadData('path/to/my/data.json');
}, 30000)
这基本上是在公共监视器上显示数据摘要的静态显示。
我希望能够在属性发生更改时突出显示,所以我一直在尝试在控件发生更改时向控件添加一个类。然后该类将使用 CSS 以某种方式突出显示这一点。
<Table items="{items}">
<columns>
<Column/>
<Column/>
</columns>
<items>
<ColumnListItem>
<cells>
<Text
text="{name}" />
<ObjectStatus
text="{value}"
state="{
path: 'value',
formatter: '.formatter.redOrGreen'
}"/>
</cells>
</ColumnListItem>
</items>
</Table>
因此模型每 30 秒更新一次。如果 {value} 字段发生变化,我想向 ObjectStatus 控件添加一个类。
目前我只是使用 JSON 模型进行本地开发,看看这是否可行,但在生产中它将是一个 oData 服务。
【问题讨论】:
-
您可以
JSON.stringify()您的数据并比较两个字符串 - 更新前后。例如如何做到这一点,看看这篇文章:link. -
也许比较整个字符串化的数据是不够的(因为它没有突出 what 发生了变化,只有 多少)。我建议将最后提取的数据与当前数据进行比较,并将结果绑定到您的视图。 stackoverflow.com/questions/8572826/…
-
Marc 是对的,这对我不起作用,因为我需要知道发生了什么变化以及如何变化。我已经设法解决了这个问题,类似于@schnoedel 的答案,我将在单独的答案中写出来。
标签: sapui5