我一直在爲Angularjs的Scrollspy模塊工作。我遇到了如果頁面處理動態內容的問題,滾動數據(元素位置)很快就會過時。處理諸如此類問題的方法是什麼?Angularjs指令更新到DOM屬性值的更改
是否有任何指令執行DOM操作$broadcast
scrollspy模塊尋找的事件 - 允許它重構其位置數據?
Scrollspy模塊應該每隔x秒檢查一次scrollHeight更改與$timeout
?
甚至更好,有沒有辦法綁定和監視DOM屬性值的變化(屬性如offsetTop
,offsetHeight
,scrollHeight
,而不是數據屬性)?
限制其他指令發出事件可能會很快變得笨拙,並且肯定會讓你的模塊不友好地工作。不幸的是,對於變暗的元素沒有一個事件,所以我恐怕投票$ timeout impl可能是你最好的候選人。至少它很容易通過$ timeout.flush():)進行測試。 – SonOfNun
作爲惡魔在這裏提倡,但是如果元素高度發生了變化,但整體'scrollHeight'沒有......突然你需要檢查一切 – Patrick