Javascript 角度模型更新

Javascript 角度模型更新,javascript,angularjs,reference,Javascript,Angularjs,Reference,我第一次尝试Angular并使用以下库 我的问题是,当我将新标记推送到数组$scope.marker时,map指令不会更新以在地图上显示添加的标记(现有标记正确显示) 我相当肯定问题在于,在推送新元素时,markers数组仍然指向相同的引用,导致相关侦听器没有被触发。我通过向服务器发出一个新的请求来重新设置$scope.marker来证明这一点,该请求有效,但似乎效率不高 如果我没有看到angular.copy的一些文档,它可能会做我需要的事情,那么有没有合适的解决方案来基于对象相等进行指令更新

我第一次尝试Angular并使用以下库

我的问题是,当我将新标记推送到数组$scope.marker时,map指令不会更新以在地图上显示添加的标记(现有标记正确显示)

我相当肯定问题在于,在推送新元素时,markers数组仍然指向相同的引用,导致相关侦听器没有被触发。我通过向服务器发出一个新的请求来重新设置$scope.marker来证明这一点,该请求有效,但似乎效率不高


如果我没有看到angular.copy的一些文档,它可能会做我需要的事情,那么有没有合适的解决方案来基于对象相等进行指令更新?如果没有看到一行代码,很难给出100%准确的答案,但听起来,在推出新标记之后,您需要强制执行范围摘要循环


因此,使用
$scope.$apply()
或将推送代码包装在
$timeout
回调中,您应该使用新的标记强制地图更新。

我尝试使用$scope.$apply(),但运气不好,我想这可能是因为数组仍然是同一个实例?编辑-实际使用$scope.$apply()会导致以下错误“错误:[$rootScope:inprog]$digest已在进行中”由于是同一个实例,因此我试图通过强制执行摘要循环来修复。尝试将其包装在$timeout回调中。您能给我一个这样的示例吗?使用angular.copy肯定修复了此问题,因此,由于数组是同一实例,似乎出于什么原因没有告知maps指令数组中的新元素:(,我会放弃并坚持复制数组,但这会把我与ngAnimate的动画搞砸:(不能给你一个例子,因为我不知道你的代码是什么样子。
$timeout(function(){array.push(el);});
我们能看一些代码吗?