我有一个莫扎特应用程序,我想在整个页面呈现后触发一个库/函数调用来装饰 DOM。
在一个带有 jQuery 的普通 HTML 应用程序中,我会做这样的事情:
$(document).ready(-> Library.decorate())
在这种情况下,我正在寻找某种 afterRender 回调或钩子,它们将在视图更改时动态更新,而不是仅仅将其应用到window.onload
(因为在渲染 DOM 更改后需要再次触发装饰调用)。
我有一个莫扎特应用程序,我想在整个页面呈现后触发一个库/函数调用来装饰 DOM。
在一个带有 jQuery 的普通 HTML 应用程序中,我会做这样的事情:
$(document).ready(-> Library.decorate())
在这种情况下,我正在寻找某种 afterRender 回调或钩子,它们将在视图更改时动态更新,而不是仅仅将其应用到window.onload
(因为在渲染 DOM 更改后需要再次触发装饰调用)。
当渲染周期完成时,会触发 Layout 类的render:complete事件:
在您的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()
render:complete仅在渲染周期中的所有视图时发生,但请记住,如果您的应用程序正在进行大量重新渲染(无论如何都应该避免),这将在每个渲染周期后调用,它可能最终被称为很多。