jQuery widget (jPanelMenu) 停止处理流星路由更改



我已经通过渲染模板实现了jPanel Menu,效果很好,直到路由被更改,然后菜单停止工作。这是我用来唤起插件的代码。

  Template.mobileMenu.rendered = function(){
    var jPM = $.jPanelMenu({
        menu: '#mobile-menu',
        trigger: '.menu-trigger'
    });
    jPM.on();
  };

模板将加载到页脚的所有页面上。我认为它需要在路线更改时重新运行,或者阻止重新运行。我不确定是哪个。感谢您的任何提示。

这听起来类似于许多人在使用第三方 UI 组件时遇到的问题。 我整理了一个使用模态对话框组件的工作示例,这可能会有所帮助:

https://github.com/alanning/meteor-modal-example

我还应该指出,新的Meteor UI渲染系统"Blaze"应该可以消除这类问题。 我预计Blaze很快就会发布。

(对于那些来自未来的访客,在撰写本文时,Meteor v0.7.0.1是最新版本。

解决方案是将其包装在 if 中,以防止它在模板/路由更改时重新渲染。

Template.mobileMenu.rendered = function(){
  if (!this.rendered){
    var jPM = $.jPanelMenu({
        menu: '#mobile-menu',
        trigger: '.menu-trigger'
    });
    jPM.on();
    this.rendered = true;
  }
};

相关内容

  • 没有找到相关文章

最新更新