1

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

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

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

4

2 回答 2

0

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

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

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

    this.rendered = true;
  }
};
于 2014-02-20T01:52:38.990 回答
0

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

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

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

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

于 2014-02-18T03:32:00.517 回答