如何在不重新绘制绑定视图的情况下重新加载angularjs范围数据
How to reload angularjs scope data without rerendering bound view
我遇到了一个小问题。我在angularjs应用程序中有一个引导选项卡集。选项卡部分由ng重复生成,并包含绑定到作用域的数据。
基本上,在控制器内:
$scope.data = { ... } // Loaded from a factory
现在,当我重新加载这些数据时(通过用新数据替换旧数据),将通过ng repeat重建选项卡集,视图将自动切换到第一个选项卡。
有没有一种方法可以在不重建视图中所有内容的情况下替换范围中的数据?
您没有明确说明具体的数据以及其中哪些数据以何种方式使用。因此,这将是一个普遍的答案:
尝试只更新实际更改的位。例如,不要替换整个对象或数组,而只替换实际更改的更新属性或索引。这样,只有GUI的相关部分才会更新。
如果必须替换对象,如果在表达式中使用"track by"(只有当元素具有可用于此操作的唯一id时,这才可能),则仍然可以帮助angular保持模型中对象与ng重复的dom元素之间的连接。
另一个选项:对首次加载数据时只应更改一次的部分使用一次性绑定:请参阅中的"一次性绑定"一节https://docs.angularjs.org/guide/expression
相关文章:
- 如何在不使用JS发出新请求的情况下读取当前标头
- 数据表 AJAX 筛选器重新加载数据
- 如何从 API 填充数据并加载到下拉列表中
- 如何在不创建新元素的情况下修改 DOM 元素的位置
- 如何在发送时不打开新页面的情况下使用php/ajax发送表单
- 在没有新行的情况下调整td中的动态加载内容
- 如何在不创建新函数的情况下更改此函数中变量的值
- 希望在不创建新类的情况下将警告图标显示在正确的位置
- 如何在不打开新窗口的情况下在单页应用中执行 Dropbox 身份验证
- 如何在新加载的页面上执行(下拉)操作
- 根据上一个选项卡的选择器重新加载选项卡
- 使用 vent.js 传递参数.如何在触发事件后加载的下一个页面视图中读取该数据
- 获得“中止,因为不接受 0”并使用反应热加载器重新加载整页
- 在 d3.js 中,如何在不进行新选择的情况下检查元素是否已被删除
- 咕噜咕噜的手表:实时加载重新加载落后 1 步....
- 如何加载使用下拉列表生成的新页面更改
- 使用挖空将数据从数据库加载到下拉列表
- 如何为新加载的元素提供JQuery UI工具提示
- 下载脚本和statcounter在不打开新页面的情况下协同工作
- 将事件处理程序附加到通过PHP加载的下拉选项html