我希望能夠知道何時所有視圖都在佈局中呈現。我想這樣做的原因是因爲我需要能夠在佈局中引用渲染視圖的位置,以便相對於已渲染的其他視圖創建視圖。什麼是知道什麼時候所有表面最初都是在famo.us中渲染的好方法?
我已閱讀本: 我能想到的Surface render events in famo.us
的一種方法是計算已被渲染,所有已經呈現後(根據已知的數)的意見,然後我就可以承擔所有已渲染。顯然,如果渲染的視圖數量未知,這將不起作用。
所以實現此目的的另一種方法是讓佈局在所有託管表面都完成渲染時觸發自定義事件。看起來這是一個很好的地方,可以在給定的佈局中使用功能墊片。例如,在SequentialLayout這將是SequentialLayout.prototype.commit
。但是,我不能100%確定這是否是正確的方法,因爲它看起來像Engine
或Entity
管理着色。所以,對我而言,這種方法實際上並不會激發我想在正確的時間開火的事件。
有沒有這方面的最佳做法?
看起來佈局應該能夠發出一個事件,通知任何監聽器它的所有表面都已被部署。思考?你怎麼看shimming SequentialLayout.prototype.sequenceFrom? – zealoushacker
或者,更好的是從'SequentialLayout.prototype.commit'觸發'completed-deploy'事件? – zealoushacker
另外,'SequentialLayout'沒有定義'_eventOutput',也沒有它的託管'_items'' ViewSequence'。 – zealoushacker