强制更新angularjs中$ watch变量的信息

时间:2014-03-25 04:21:49

标签: javascript angularjs nvd3.js

所以我一直在努力与angularjs-nvd3-directives合作,而且大部分都很棒。我虽然来到了我的实际用例,并且它没有按预期工作。我正在做的是制作图表编辑器,因此您可以实时更改图表的设置并查看这些更改。 Here's an example of changing the x axis in action。现在,您可能会注意到数据会反复变化。我想在不更改数据的情况下更改所有这些属性,但如果您注释掉随机化数据的行,则它无法按预期工作。

我在源代码中进行了一些挖掘,我发现this curious line在我看来只是在监视数据变量。有没有办法可以强制角度更新,即使数据没有改变?将其设置为自身似乎不起作用。

此外,在该示例中,由于setInterval,它每1500毫秒更新一次。有没有更好的方法呢?我觉得让它在change事件中工作会更好,但我不知道从哪里开始。

2 个答案:

答案 0 :(得分:0)

  

将其设置为自身似乎无法正常工作。

那是行不通的,因为angular会进行===等式检查。 简单解决方案:

data = angular.copy(data)

这会使data与以前的data值不同,但仍然在功能上相同。

答案 1 :(得分:0)

我必须使用的解决方案是在对象上设置一个未使用的属性,并在需要更改时随时增加它。