jQuery小部件(jPanelMenu)停止处理流星路由更改

时间:2014-02-18 02:12:57

标签: meteor jpanelmenu

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

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

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

2 个答案:

答案 0 :(得分:0)

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

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

另外我应该指出,新的Meteor UI渲染系统“Blaze”应该消除这些问题。我希望Blaze很快就能发布。

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

答案 1 :(得分:0)

解决方案是将其包装在if中,如果没有渲染,则防止在模板/路径更改时重新渲染它。

Template.mobileMenu.rendered = function(){
  if (!this.rendered){

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

    this.rendered = true;
  }
};