我已经通过渲染模板实现了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;
}
};