如何避免ng-repeat重新填充未受影响的数据

时间:2015-04-27 11:20:39

标签: angularjs angularjs-ng-repeat ng-repeat

解决这个问题的好方法是什么?

我有一个关于用户视图的项目列表。每个项目都可以显示 - 一次只能一个。 (我使用Angular Bootstrap Accordion)。在扩展容器中,我有一个密码输入。问题是我每20秒更新一次项目列表,并且当用户输入密码时,列表可能会被重新填充,并且所有内容都会完全混乱。

*想象一下这就像一个WiFi网络列表 - 连续扫描。

1 个答案:

答案 0 :(得分:1)

问题是,当你使用rfresh list的模型时,它会被指令(accordion?)观察者检测到,它启动编译,例如DOM构建组件,因此可能有一些方法可以避免用户进程的丢失:

  1. 正确的方式(imho)是将模板移出模型以这种方式刷新的组件
  2. 尝试在用户与表单进行交互时阻止刷新
    • 取消注册时间间隔/超时,用于在表单(或其任何字段聚焦)时刷新,并在提交/取消/模糊时设置间隔时间
    • 尝试构建'shadow'模型并每隔20秒刷新一次,然后手动设置观察者(在这种情况下,您将获得一个观察者注销功能以关闭观察者)并且在此watcer刷新模型中,您的手风琴是链接,所以再次聚焦你将能够取消注册观察者。