0

我想创建一个包含动态数据的表示例,该数据还指示表值何时发生更改。

所以想象一个数据表。一行上的一个单元格改变了它的值,它变成绿色表示它已经改变了。

我是 Angular 的新手。我已经完成了本教程,但我正在努力找出正确的方法。我不是要求一步一步的教程,但是如果一位 Angular 资深人士可以给我一个粗略的方法来说明我需要关注 Angular 的哪些部分,以及一些关于如何最好地构建应用程序的技巧,这将是一个很大的帮助。

现在,我有一个附加的 JSON 对象数组$scope.rows和一个使用ng-repeat. 有一个按钮可以随机更改行数据中的一些值。这似乎是按照我的预期更新行的技巧,但我还没有弄清楚如何弥合数据绑定和 dom 操作之间的差距。我的方法可能全错了。

4

1 回答 1

1

您需要检测 rows 对象何时更改以及哪个元素更改。我通过首先创建行对象的副本然后在 scope.rows 上进行监视(确保包含对象相等标志)来完成类似的操作。当手表触发时,循环遍历 scope.rows 对象,当你找到不同的元素时,在其上放置一些布尔属性并将其设置为 true。

在您的行 DOM 标记中,使用:

ng-class="{highlightRowCSSClass:row.boolProp, normalRowCSSClass:!row.boolProp }"

并将 highlightRowCSSClass 设置为您想要指示已更改元素的任何内容。

在对象上设置道具后,将行的副本设置为当前状态并等待手表再次触发。当您再次循环遍历每个元素时,您需要清除每个元素的旧值,这样您就没有两个“打开”的元素。

于 2013-08-19T16:06:53.267 回答