我有以下内容:
$(window).on('drop', this.onDrop.bind(this));
p.onDrop = function(e) {
var self = this;
var files = e.originalEvent.dataTransfer.files;
$.each(files, function(index, file){
self.showTemplate();
});
};
p.showTemplate = function() {
console.log(this.template); //logs template correctly
var template = this.template.clone(); //Uncaught TypeError: undefined is not a function
};
我不确定发生了什么。我可以记录模板,所以我必须有权访问它,但由于某种原因它无法克隆?
答案 0 :(得分:0)
错误 "undefined is not a function"
表示.clone
不是函数。它在this.template
上似乎不存在(至少是功能)。
由于您使用的是jQuery,因此可以使用.extend()
:
// Shallow copy
var clone = jQuery.extend({}, this.template);
// Deep copy
var clone = jQuery.extend(true, {}, this.template);