我正在尝试在Meteor应用中运行materialize modal。我有一个名为“classrooms”的模板,我正在使用onRendered方法,如下所示:
Template.classrooms.onRendered(function () {
$('.modal-trigger').leanModal();
});
如果我重新加载我的页面,模态工作正常。但是,一旦我离开我的页面或在不同的路线上重新加载我的页面并导航回“/ classesrooms /”,我会收到以下错误:
Tracker afterFlush函数的异常:
其次是:
TypeError: $(...).leanModal is not a function
at null.<anonymous> (classrooms.js:18)
at template.js:116
at Function.Template._withTemplateInstanceFunc (template.js:457)
at fireCallbacks (template.js:112)
at null.<anonymous> (template.js:205)
at view.js:107
at Object.Blaze._withCurrentView (view.js:538)
at view.js:106
at Object.Tracker._runFlush (tracker.js:497)
at onGlobalMessage (setimmediate.js:102)
是否有人遇到此问题或知道如何修复它?
答案 0 :(得分:1)
我弄清楚发生了什么事。我实际上是在我的应用程序中两次调用jQuery。让我解释一下。
在您创建应用时,一旦您拨打meteor create
,每个meteor应用都会自动加载jQuery。在大气页面上查看更多信息:https://atmospherejs.com/meteor/jquery
我还在我的布局上手动插入jquery。
通过同时拥有这两个,这个奇怪的错误出现了。然而,一旦我意识到这一点并从布局中删除了jQuery,一切都落到了位置。因此,请确保您没有在应用上初始化jQuery以避免这些错误。