7
1 پاسخ
6
بهترین پاسخ
هوک "rendered" نادر استفاده میشود، اما ممکن است پیش بیاید که نیاز باشد کدی را فوراً پس از رندر شدن یک کامپوننت اجرا کنیم (در واقع، زمانی که تابع template کامپایلشدهاش اجرا میشود). برای این کار، میتوانیم از هوک "onRendered" استفاده کنیم.
هوک "rendered" پس از رندر کردن قالبها فوراً صدا زده میشود، ابتدا برای والد، سپس برای فرزندان. توجه داشته باشید که در این لحظه، DOM واقعی ممکن است هنوز موجود نباشد (اگر این اولین بار رندر است) یا هنوز بهروزرسانی نشده باشد. این در فریم بعدی انیمیشن، بهعنوان یک DOM، بهوجود میآید زمانی که همه کامپوننتها آماده باشند.
در لحظهای که هوک "rendered" فراخوانی میشود، ممکن
است DOM واقعی هنوز ساخته نشده باشد، بهویژه اگر این اولین باری باشد که
کامپوننت رندر میشود یا اگر هنوز بهروزرسانی نشده باشد. به زبان دیگر،
این هوک زودتر از ایجاد یا بهروزرسانی DOM فراخوانی میشود. اما، در فریم
بعدی انیمیشن، DOM بهعنوان یک ساختار از روی کامپوننتها و اطلاعاتی که در
آنها قرار گرفته است، بهوجود میآید. بهطور خلاصه، این دقیقا موقعیتی
است که DOM بهروزرسانی شده و آماده برای نمایش است، اما این به معنای این
نیست که در همان لحظه دقیق رندرینگ صورت گرفته است.