问题标签 [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.
javascript - 查看多个 $scope 属性
有没有办法使用订阅多个对象的事件$watch
例如
angularjs - 当作用域被破坏时,我是否需要“取消监视”作用域变量?
以下是来自 Angular 的文档。我正在查看属于此范围一部分的几个变量,以便为ng-grid
. 当这个作用域被破坏时,我是否需要通过调用 from 的返回值来取消监视它们$scope.$watch
,或者作用域的破坏是否足以处理这个问题?如果被监视的变量不是这个范围的一部分怎么办?
如果我不“取消监视”与范围一起被破坏的变量,我会泄漏内存/导致性能问题。
$destroy()
从父作用域中移除当前作用域(及其所有子作用域)。移除意味着调用$digest()
将不再传播到当前作用域及其子作用域。删除还意味着当前范围有资格进行垃圾收集。
$destroy()
通常由指令使用,例如用于ngRepeat
管理循环的展开。
就在作用域被销毁之前,$destroy
会在此作用域上广播一个事件。应用程序代码可以注册一个$destroy
事件处理程序,这将使它有机会执行任何必要的清理。
请注意,在 AngularJS 中,还有一个$destroy
jQuery 事件,可用于在从 DOM 中删除元素之前清理 DOM 绑定。
angularjs - AngularJS $watch 与 $watchCollection:性能哪个更好?
对于观察对象范围变量,$scope.$watch
设置objectEquality
为 true还是$scope.$watchCollection
更好?
对于$scope
使用输入元素和视图更新的对象变量(如 15 个属性,一些嵌套的 2 层深),设置为ng-model
有多糟糕?这是要避免的大事吗?$scope.$watch
objectEquality
true
有$watchCollection
更好的解决方案吗?
我正在寻找简单的胜利来提高我的 AngularJS 应用程序的性能(我仍然停留在 v1.2.2 上)。
javascript - 为什么这个 ng-grid 分页有效
以下是我对以下代码中的 if 条件的理解:
每当pagingOptions
更改和currentPage
属性发生更改时, 条件if
变为 true,因此该getPagedDataAsync
方法被执行。
currentPage
但即使我不更改pageSize
UI 中的 ,网格也会刷新。我不希望发生这种情况(根据我的理解)。那么为什么该网格会被刷新呢?
从这里,我获取了代码:
http://angular-ui.github.io/ng-grid/ 带有服务器端分页示例标题
angularjs - 重新绑定 $watcher
HTML:
JS:
当我点击我的按钮时如何重新绑定 $watcher .?
angularjs - AngularJS:当 $rootScope 值更改时,指令内的 $watch 不起作用
我创建了一个应用程序是 angularjs,其中我有一个指令,当 $rootScope 变量发生变化时,我在指令中监视以触发指令中的某些方法,但问题是当 $rootScope.name值已更改,指令内的手表不起作用
我的代码如下
angularjs - Angularjs 更新视图但不更新模型
请注意,这与 stackoverflow 上 99% 的相关问题相反。
我的问题是:我有一个依赖选择,当“主”选择发生变化时,“从”视图会更新,但不是模型。诡异的。
示例代码:
更改主选择时,您可以看到选择发生变化,但绑定 {{ slave }} 的打印值没有变化。
链接到 plunker:http ://plnkr.co/edit/LjaKgTTfBlczkGuCIhZ1
angularjs - angularjs - 在窗口调整大小时调整 div
我试图让一个 div 在页面加载时正确调整大小,并在 $(window).resize 上调整大小(但没有 jQuery)
我有两组代码可以工作:
此解决方案的第一个:angularJS 窗口调整大小问题
...在调整窗口大小时效果很好,但在初始加载/刷新时效果不佳
第二个使用链接属性
...在初始加载/刷新时效果很好,但在调整窗口大小时效果不佳
问题:
- 我如何让这些解决方案中的任何一个在初始加载和 window.resize 上工作
- 最佳解决方案是什么?(第一个解决方案表明 $watch 有不必要的开销)
jsFiddle 在这里http://jsfiddle.net/goredwards/012jsvrp/
(只需将 html 中的 'resize1' 换成 'resize2' 即可查看第二个'解决方案')
PS div 之间的 2px 空间是故意的。
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 的任何提示,以解决问题。
})();
请问有没有开放的点。我会尽我所能提供给他们。
提前致谢!
应酬
javascript - 如何控制 $scope.$watch 迭代?
我正在尝试控制 $scope.$watch 功能。目前,我的迭代中有一个无限循环。
这是我的 scope.dashboards:
我想要完成的是,每当我的 $scope.dashboards 中的小部件位置发生变化时,我都会在 localStorage 中存储一个新 ID 以保存其位置状态,以便在浏览器关闭/刷新时它仍然会保留其会议/职位。也许您对我将如何解决这个问题有所了解?谢谢!