问题标签 [angularjs-watch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
11 回答
192040 浏览

javascript - 查看多个 $scope 属性

有没有办法使用订阅多个对象的事件$watch

例如

0 投票
2 回答
4448 浏览

angularjs - 当作用域被破坏时,我是否需要“取消监视”作用域变量?

以下是来自 Angular 的文档。我正在查看属于此范围一部分的几个变量,以便为ng-grid. 当这个作用域被破坏时,我是否需要通过调用 from 的返回值来取消监视它们$scope.$watch,或者作用域的破坏是否足以处理这个问题?如果被监视的变量不是这个范围的一部分怎么办?

如果我不“取消监视”与范围一起被破坏的变量,我会泄漏内存/导致性能问题。


$destroy()

从父作用域中移除当前作用域(及其所有子作用域)。移除意味着调用$digest()将不再传播到当前作用域及其子作用域。删除还意味着当前范围有资格进行垃圾收集。

$destroy()通常由指令使用,例如用于ngRepeat管理循环的展开。

就在作用域被销毁之前,$destroy会在此作用域上广播一个事件。应用程序代码可以注册一个$destroy事件处理程序,这将使它有机会执行任何必要的清理。

请注意,在 AngularJS 中,还有一个$destroyjQuery 事件,可用于在从 DOM 中删除元素之前清理 DOM 绑定。

0 投票
3 回答
51942 浏览

angularjs - AngularJS $watch 与 $watchCollection:性能哪个更好?

对于观察对象范围变量,$scope.$watch设置objectEquality为 true还是$scope.$watchCollection更好?

对于$scope使用输入元素和视图更新的对象变量(如 15 个属性,一些嵌套的 2 层深),设置为ng-model有多糟糕?这是要避免的大事吗?$scope.$watchobjectEqualitytrue

$watchCollection更好的解决方案吗?

我正在寻找简单的胜利来提高我的 AngularJS 应用程序的性能(我仍然停留在 v1.2.2 上)。

0 投票
3 回答
991 浏览

javascript - 为什么这个 ng-grid 分页有效

以下是我对以下代码中的 if 条件的理解:

每当pagingOptions更改currentPage属性发生更改时, 条件if变为 true,因此该getPagedDataAsync方法被执行。

currentPage但即使我不更改pageSizeUI 中的 ,网格也会刷新。我不希望发生这种情况(根据我的理解)。那么为什么该网格会被刷新呢?

从这里,我获取了代码:

http://angular-ui.github.io/ng-grid/ 带有服务器端分页示例标题

0 投票
2 回答
411 浏览

angularjs - 重新绑定 $watcher

HTML:

JS:

当我点击我的按钮时如何重新绑定 $watcher .?

0 投票
2 回答
11985 浏览

angularjs - AngularJS:当 $rootScope 值更改时,指令内的 $watch 不起作用

我创建了一个应用程序是 angularjs,其中我有一个指令,当 $rootScope 变量发生变化时,我在指令中监视以触发指令中的某些方法,但问题是当 $rootScope.name值已更改,指令内的手表不起作用

我的代码如下

工作演示

0 投票
3 回答
1022 浏览

angularjs - Angularjs 更新视图但不更新模型

请注意,这与 stackoverflow 上 99% 的相关问题相反。

我的问题是:我有一个依赖选择,当“主”选择发生变化时,“从”视图会更新,但不是模型。诡异的。

示例代码:

更改主选择时,您可以看到选择发生变化,但绑定 {{ slave }} 的打印值没有变化。

链接到 plunker:http ://plnkr.co/edit/LjaKgTTfBlczkGuCIhZ1

0 投票
1 回答
4554 浏览

angularjs - angularjs - 在窗口调整大小时调整 div

我试图让一个 div 在页面加载时正确调整大小,并在 $(window).resize 上调整大小(但没有 jQuery)
我有两组代码可以工作:

此解决方案的第一个:angularJS 窗口调整大小问题

...在调整窗口大小时效果很好,但在初始加载/刷新时效果不佳

第二个使用链接属性

...在初始加载/刷新时效果很好,但在调整窗口大小时效果不佳

问题:
- 我如何让这些解决方案中的任何一个在初始加载和 window.resize 上工作
- 最佳解决方案是什么?(第一个解决方案表明 $watch 有不必要的开销)

jsFiddle 在这里http://jsfiddle.net/goredwards/012jsvrp/
(只需将 html 中的 'resize1' 换成 'resize2' 即可查看第二个'解决方案')

PS div 之间的 2px 空间是故意的。

0 投票
1 回答
687 浏览

angularjs - Angularjs监视功能未在Openlayers3上显示标记

我想根据用户交互在 Openlayers 地图上显示特定标记。因此,我在指令链接函数中使用了 AngularJS 监视函数。我观察到一个包含 json 对象的数组(“数据”)。这些也包含长。& 纬度 并存储在 EPSG:4326/WGS 84 中。

我试图适应:OpenLayers 3 - draw multiple lines/paths based on coordinates

在 console.log 中,我可以看到坐标(geometry.getFirstCoordinate())已正确生成,但它们没有显示在地图上。我不确定这是否因为 Angular 摘要而不起作用,或者是否是 Openlayers 的问题。我也很感激调试 OL 的任何提示,以解决问题。

})();

请问有没有开放的点。我会尽我所能提供给他们。

提前致谢!

应酬

0 投票
2 回答
146 浏览

javascript - 如何控制 $scope.$watch 迭代?

我正在尝试控制 $scope.$watch 功能。目前,我的迭代中有一个无限循环。

这是我的 scope.dashboards:

我想要完成的是,每当我的 $scope.dashboards 中的小部件位置发生变化时,我都会在 localStorage 中存储一个新 ID 以保存其位置状态,以便在浏览器关闭/刷新时它仍然会保留其会议/职位。也许您对我将如何解决这个问题有所了解?谢谢!