2013-07-05 58 views
1

我有一個莫扎特應用程序,我想要觸發一個庫/函數調用,在整個頁面渲染完成後裝飾DOM。如何在Mozart中調用渲染函數?

在使用jQuery香草HTML應用程序,我會做這樣的事情:

$(document).ready(-> Library.decorate()) 

在這種情況下,我在尋找某種AfterRender階段回調或掛鉤的,將動態更新時,視圖更改,而不僅僅是將其應用於window.onload(因爲裝飾調用需要在DOM更改呈現後再次觸發)。

回答

1

有一個事件渲染:當上一個渲染週期所觸發的佈局門類齊全完成:

在你app.coffee,或類似:

App.Application = Mozart.MztObject.create() 

App.Application.set 'layout', Mozart.Layout.create(
    rootElement: '#main' 
    states: [ 
    Mozart.Route.create 
    viewClass: App.HomePage 
    path: "/" 
    title: "Mozart" 

    # ...other routes... 
    ] 
) 

App.Application.layout.bind 'render:complete', -> 
    # Your handler code here 
    Library.decorate() 

渲染:完成只發生在一個循環中的所有視圖都被渲染後,但請記住,這將在之後每渲染週期調用,如果您的應用程序i我們做了很多重新渲染(不管你應該避免這種渲染),它最終可能會被稱爲很多。

+0

謝謝,那正是我所問的。 – maetl