【发布时间】:2016-06-27 08:26:42
【问题描述】:
这个 Meteor 代码需要调用 main.js 中定义的 header.js 中的函数cleanSerializedArray();,这两个文件都在客户端目录下。
浏览器控制台错误:
Uncaught ReferenceError: cleanSerializedArray 未定义
但是当定义移动到同一个文件“header.js”时,控制台会说
未定义
为什么这 2 个出乎意料的结果,我希望看到函数在两种情况下都能正常工作?谢谢
'use strict';
Template.header.events({
'click .mainMenu': function () {
//control the footer visibility
if (Session.get('showMainMenu')) {
Session.set('showMainMenu', false);
} else {
console.log(cleanSerializedArray()); //<------- called
//Meteor.call('storeUserInputs', objArray);
Session.set('showMainMenu', true);
}
});
function cleanSerializedArray() {
return $('form').serializeArray().forEach(function (item) {
item.value = item.value.replace(/[^0-9a-zA-Z]/g, '');
});
}
【问题讨论】:
-
函数是全局定义的吗? Javascript 看起来不错,所以我认为它与范围相关。
标签: javascript meteor