2014-03-25 52 views
0

所以我一直試圖與angularjs-nvd3-directives一起工作,並且大部分情況都很棒。儘管如此,我已經進入了我的實際使用案例,但它並沒有像預期的那樣工作。我正在做的是製作圖表編輯器,因此您可以實時更改關於圖表的設置並實時查看這些更改。 Here's an example of changing the x axis in action。現在,您可能會注意到數據反覆更改。我想在不更改數據的情況下更改所有這些屬性,但是如果註釋掉隨機數據的行,則不會按預期工作。

我做了一些挖掘的源代碼,我發現this curious line在我看來,它只是看着數據變量。有沒有辦法強制角度更新,即使數據沒有改變?將它設置爲自己似乎不起作用。

此外,在該示例中,由於setInterval,它每1500毫秒更新一次。有沒有更好的方法來做到這一點?我覺得讓它在change事件中工作會更好,但我不知道從哪裏開始。

+0

http://docs.angularjs.org/api/ng/type/$rootScope.Scope#$digest – Phil

+0

文檔甚至說我應該使用$ scope。$ apply()(這個例子是這樣做的),如果它在控制器中。我不確定這會有什麼幫助,除非你有一個例子。 – Seiyria

回答

0

我不得不採取的解決方案是在對象上設置一個未使用的屬性,並在需要更改時增加它。

0

將其設置爲自己似乎不起作用。

這沒有奏效,因爲角度做了===相等性檢查。 簡單的解決方案:

data = angular.copy(data)

這將使datadata前值不同,但還是功能上等同。

+0

我試過這個,它似乎沒有工作。我錯過了什麼嗎? http://plnkr.co/edit/rhrbIe3jdH4Cbdka0sF0?p=preview – Seiyria