我遇到了JSON序列化clipTo
函数的问题。当我将JSON加载到画布中时,我在控制台中看到以下错误:
未捕获的ReferenceError:未定义clipByName。
我正在使用此链接中的功能:http://jsfiddle.net/ZxYCP/198/;
如何解决此错误,或如何stringify
clipTo
功能。
现在在JSON对象中我有这个:
clipTo:"function (ctx) {
return _.bind(clipByName, currentCanvas.getItemByName(obj.name))(ctx);
}
这是我的代码:
document.getElementById('uploadText').addEventListener('click', function() {
var textObj = itextObject.objT();
textObj.id = time.getMilliseconds() + '_' + time.getMinutes() + random(0, 1000);
textObj.name = textObj.id;
textObj.clearObj = 'clear';
if (currentFlag.flag === 'mainFlag') { textObj.clipName = 'clippingElem'; } else if (currentFlag.flag === 'mainFlagB') {
textObj.clipName = 'clippingElemB';
}
textObj.clipTo = function(ctx) { return _.bind(clipByName, currentCanvas.getItemByName(textObj.name))(ctx); };
currentCanvas.getItemByName(currentFlag.flag).set({ clipFor: textObj.clipName });
textObj.left = currentCanvas.getItemByName(currentFlag.flag).left;
currentCanvas.add(textObj);
currentCanvas.renderAll();
});
我改变了小提琴,并有同样的错误:http://jsfiddle.net/ZxYCP/749/