1

我有一个莫扎特应用程序,我想在整个页面呈现后触发一个库/函数调用来装饰 DOM。

在一个带有 jQ​​uery 的普通 HTML 应用程序中,我会做这样的事情:

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

在这种情况下,我正在寻找某种 afterRender 回调或钩子,它们将在视图更改时动态更新,而不是仅仅将其应用到window.onload(因为在渲染 DOM 更改后需要再次触发装饰调用)。

4

1 回答 1

1

当渲染周期完成时,会触发 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仅在渲染周期中的所有视图时发生,但请记住,如果您的应用程序正在进行大量重新渲染(无论如何都应该避免),这将在每个渲染周期后调用,它可能最终被称为很多。

于 2013-07-06T01:28:29.037 回答