我编写a Plunker简化了一个应用程序场景,我正在编写这种情况。AngularJS在模型更改后不会令人耳目一新的视图
场景的一点解释:
- 没有加载到$范围的交易列表(类型交易的对象)
- 该控制器监听由服务产生的事件控制器负责持久化新的或更新的交易对象,然后重新加载模型
- 该视图使用ng重复呈现交易列表
- 每个交易可以单独更新(提交或回滚)
- 的AngularJS应用程序有创建一个新的事务对象每隔2秒,模拟的是,这些交易都来自外部源(针对服务器的$ HTTP请求,例如)一个run()块
什么您将看到在模型在接收到服务产生的事件后重新分配新的对象列表时,不会重新加载视图。
我一直在拖着我的头发脱离过去的48小时。这种行为最常见的原因是在AngularJS之外修改模型,而不是调用$ apply(),但是(我认为)并非如此。
还尝试检查$范围。$$阶段和调用手动$应用或$摘要(即使这可能被认为可能是坏的),根本没有成功。
我做错了什么?这是一个错误?有没有其他策略可以应用?
什么假设发生时,你打一个“手动刷新”按钮? – Stewie
我想你已经通过下面的答案计算出来了......无论如何,这个按钮强制重新加载模型(因为当事件发生时它没有这样做) – ggalmazor