- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用三个输入复选框和 ngModel 指令来绑定(bind)到名为“props”的对象的属性。
我正在使用 $scope.$watchCollection 设置对“props”的所有属性(共有三个)的监视。
在我的 $watchCollection 回调函数中,我需要将旧属性值与新属性值进行比较,但在函数内,新旧属性始终相同!
这是一个工作示例:http://jsbin.com/eYofakU/3/edit 。这是怎么回事?
这使用 Angular 1.2.0-rc.3
谢谢!
最佳答案
这对我有用。我将 $watchCollection
更改为 $watch
并将第三个参数设置为 true,这告诉 Angular 创建正在监视的对象的深拷贝以进行比较:
$scope.$watch("props",function(n,o){
console.log("NEW");
console.log(n);
console.log("OLD");
console.log(o);
console.log("Why are they the same?!");
},true);
关于javascript - Angular $watchCollection 回调不捕获对象中的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19569121/
更新 此问题已在 1.3.0 beta 中得到解决:请参阅commit 我有一个数组,我想监听更改并将新值与旧值进行比较。 $watchCollection (http://docs.angular
我使用 $watchcollection 来观察我的模型的变化。我像这样初始化了我的模型 $scope.feature = { additional: [], coll
我有两个数组,每个数组都有 bool 值,我尝试使用 $watchCollecion 函数在其中一个数组发生某些更改时显示一条消息,但由于某种原因它不起作用。 我想看看这个 example 有什么问题
我正在尝试为用户的警报数量设置一个计数器。如果我 console.log $scope.alerts 和 $scope.count,我可以看到两者都在更新,但是使用 {{alerts.length}}
我们有一个名称包含点 (.) 的属性。我知道这并不常见,但原因是这些是自动构建的,您可能会将其视为 key1.key2。 现在这个属性“key1.key2”的 watchCollection 失败了,
我有以下指令: app.directive('rickshawChart', function() { return{ $scope: { da
我正在使用 $watchCollection 来观察数组长度的变化。但是当我将任何项目添加到数组时它似乎不起作用。我哪里出错了? var app = angular.module('plunker',
我有一个嵌套数组: $scope.itinerary = [ [ {name:'x'}, {name:'y'}, {
我有一个了解一段代码的小查询。 我的印象是 $watchCollection 将监视数组 , 当根据以下语法作为参数传递时: $watchCollection(obj, listener); 然而,我
我正在尝试使用 $watchCollection 函数将表(ui 网格)与 Angular 中的另一个 View 连接起来。我需要 $watchCollection 来监视表中的文本框(过滤器区域),
有2 ways to watch a group of variables在 Angular 。但它们之间有什么区别呢? 他们似乎都做浅表。是否存在其中一种明显优于另一种的情况? 最佳答案 $watc
我使用三个输入复选框和 ngModel 指令来绑定(bind)到名为“props”的对象的属性。 我正在使用 $scope.$watchCollection 设置对“props”的所有属性(共有三个)
我有一个包含 3 个复选框值的 html 文件 并且在 Controller 中定义了一个 watchCollection,当复选框状态改变时它会被触发 $scope.$watchGroup([
我正在尝试使用来自 Controller 的 $scope.$watchCollection 来监控我拥有的服务。当我的 Controller 最初被调用时, watch 会被调用,但每次都不会。 我
这篇文章与:Is there a tidy way to define a large watch collection for AngularJS? 不同 我的代码是(service.js): va
当 $scope.$watchCollection 用于更改对象中的属性时,它仅评估第一级属性。当调用 $scope.$watchCollection 时,有没有办法强制 angular 评估第二级或
我在 AngularJS 中遇到一个问题,其中 $scope.$watchCollection() 抛出错误。我已将代码减少到与文档中的示例代码完全相同( http://docs.angularjs.
我正在编写的一些代码存在问题,这些代码应该利用我正在上传的文件。 问题说明 基本上,我正在工作的这个迷你项目有两个部分。第一部分是我编写的指令,用于监视文件输入并捕获正在上传的文件。然后将捕获的文件
对于监视对象作用域变量,将 $scope.$watch 与 objectEquality 设置为 true 还是 $scope.$watchCollection 更好? 对于使用 View 中的输入元
我在屏幕上有一个“添加项目”按钮,单击它可以将新项目添加到列表中。 我使用 $scope.$watchCollection 来观察返回所有可见项列表的函数。 当我点击“添加项目”按钮时,我收到无限摘要
我是一名优秀的程序员,十分优秀!