在我們的 Angular 應用程式中,給出如下代碼:
<div>{{ aGetProperty }}</div>
<div>{{ aMethod() }}</div>
每當我單擊頁面上的任意位置時,都會多次評估這些運算式。也就是說,如果我在 aMethod 中放置一個 console.log('hello'),每次按下滑鼠左鍵或右鍵時,hello 都會多次輸出到控制臺,并且在滑鼠向上時會再次輸出多次。
任何人都知道可能導致此問題的原因是什么?我沒有為組件或它上面的任何東西系結任何點擊、滑鼠向上/向下事件(據我所知)。謝謝。
uj5u.com熱心網友回復:
Angular 實際上修補了瀏覽器的低級 API:例如,修補了 addEventListener 以檢查 DOM 中的更改并重新呈現視圖。因此,當您單擊 DOM 元素時,Angular 將運行更改檢測,并且您在 DOM 中的方法呼叫將被執行。換句話說:從 DOM 系結方法是一種不好的做法 - 除非它明確是 on/click 事件 - 因為該方法將在生命周期中的每個更改檢測時執行。當然,有時您確實希望某些方法在每次更改時觸發,但請確保這正是您想要的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/477608.html
標籤:javascript 有角度的 离子框架
