![](/img/trans.png)
[英]Is there a way to detect when a DOM node is about to be removed from the DOM?
[英]Is there a way to detect when the actual DOM render completes?
我有一個 Vue 組件,它使用圖表庫在canvas
元素上繪制圖表。 我希望圖表占據與窗口的寬度成比例的寬度,這意味着圖表庫在將虛擬 DOM 渲染到瀏覽器中之前不知道它需要多大的canvas
元素。
一旦渲染了DOM,有什么方法可以觸發圖表的渲染嗎? Vue 包含mounted
的生命周期鈎子,但觸發得太早,甚至在mounted
后使用$nextTick
在渲染管道中也太早了。
如果做不到這一點,是否有另一種(hack)方法可以檢測到 DOM 已經生成,以便我可以使用它來觸發圖表渲染?
我不想建議這樣做,但作為一種解決方法,您可以添加一個<script>...</script>
片段來觸發一個事件(在 Vue 組件的 EOF 之前不久),您可以處理該事件來調用您的圖形渲染函數。 它應該大致如下所示:
<vue-component>
<!-- component contents -->
<!-- ... -->
<script> // trigger-code </script>
</vue-component>
讓我知道這是否適合你。
您可以使用 ref(請參閱docs )將更改應用到 DOM。
在包含<canvas>
元素的同一組件中的mounted
鈎子中使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.