首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Mozart中调用渲染后函数?

如何在Mozart中调用渲染后函数?
EN

Stack Overflow用户
提问于 2013-07-05 15:41:15
回答 1查看 67关注 0票数 1

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

在一个带有jQuery的普通超文本标记语言应用程序中,我会这样做:

代码语言:javascript
复制
$(document).ready(-> Library.decorate())

在本例中,我寻找的是当视图发生变化时动态更新的afterRender回调或钩子,而不是仅仅将其应用于window.onload (因为在呈现DOM更改后需要再次触发装饰调用)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-06 09:28:29

布局类上有一个事件render:complete,该事件在渲染周期完成时触发:

在您的app.coffee或类似产品中:

代码语言:javascript
复制
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只有在一个周期中的所有视图都被渲染后才会发生,尽管请记住,它将在每个渲染周期之后被调用,如果你的应用程序正在进行大量的重新渲染(无论如何都应该避免),它最终可能会被调用很多次。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17483593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档