0
我們剛剛爲我們的Ember應用程序安裝了錯誤跟蹤器,並且唯一報告的錯誤是Cannot read property 'find' of undefined
。導致此錯誤的代碼位於組件內,如下所示:Ember無法讀取未定義的屬性'find'
this.set('interval', setInterval(() => {
const current = this.get('counter') - 1;
this.set('counter', current);
this.$().find('.countdown-number').text(current); // <- error here
}, 1000));
我不明白如何發生這種情況。 $()
怎麼可能是未定義的,因爲它是ember框架的一部分?
根據錯誤跟蹤器,它發生了一堆不同的瀏覽器,例如最新的Chrome瀏覽器。然而,我不能在任何瀏覽器中重現錯誤。
我知道這不是更新div中文本的「餘燼方式」,但我寧願不必重建很多,我只是想盡可能地修改錯誤。
啊,這實際上很有道理!在上面的問題中更新了代碼,正如你可以看到它是一個間隔,即使在組件被銷燬之後也可能持續。將'clearInterval'添加到'willDestroyElement'可能是一個解決方案,我會試試看。 – TheQ
肯定這應該解決的問題。你有參考存儲''間隔'所以它應該是快速修復。 :) –
它完美的工作,現在4個小時沒有一個錯誤,而我們以前有幾分鐘。謝謝! :) – TheQ