我正在处理一个Announcement
类,当调用一个事件时,我使用它来通过API加载信息。未捕获TypeError:undefined不是函数(asset-pipeline)
Announcement = function Announcement (id) {
var id = id;
var vars = {};
this.load = function load() {
$.ajax({
url: '/api/announcements/' + id,
dateType: 'json',
async: false,
success: function (data) {
vars = data.announcement;
}
});
}
this.getVars = function getVars() {
return vars;
}
}
这是我的事件:
$(window).ready(function() {
Dynatable.selector.bind('dynatable:afterUpdate', function (rows) {
$('.dy-button').on('click', function (event) {
var record = $(this).attr('record');
var Announcement = new Announcement(record);
Announcement.load();
});
});
});
的两段代码在不同的文件,但它们都与资产的管道连接起来。通知类首先被加载。
当我到:
var Announcement = new Announcement(record);
它说:
Uncaught TypeError: undefined is not a function
我一直在试图修复它在过去的一天。
如果将'$(window).ready'更改为'$(document).ready',会发生什么?只是好奇,如果这些是不同的事件... – War10ck
@ War10ck这是一样的事情。 – GiamPy
有趣。你应该考虑在函数内改变你的变量名称。用新创建的对象有效覆盖函数内的全局范围。这是你的真正意图吗? – War10ck