我的应用程序的结构与下例类似。我需要界面来动态创建画布。当我创建这些raphael对象时,我将它们作为canvasActions的参数。调用给予raphael对象构造函数的函数对象的方法作为回调函数
如果我使用createCanvas方法创建新的画布对象,则将对象设置为canvases-table的类型是Raphael,并且似乎无法使用分配给它的canvasActions。所以问题是我不能在由canvasActions函数返回的接口中使用方法。
为了调用分配给特定Raphael对象的方法,我必须做些什么改变?
var myApp = (function() {
var canvasActions = function() {
var actionInterface = function() {
//returns interface object
}();
return actionInterface;
}
var myAppInterface = function {
var canvases = [];
var appInterface = {
createCanvas: function(contextElementId, width, height) {
canvases[canvases.length] = Raphael(contextElementId, width, height, canvasActions);
},
getCanvas: function(index) {
return canvases[index];
}
}
return appInterface;
}();
return myAppInterface;
}());
谢谢你的回答,但是这似乎并没有解决我的亲blem。 –
是的,在放入Raphael物体后,我无法调用canvasActions。 btw。 Raphael文档(http://raphaeljs.com/reference.html#Paper.path)指出可以有4个参数,第四个是回调。我会用你的回答给出的想法做更多的测试,并希望我能够解决这个问题。 –
链接到拉法尔参考的正确位置:http://raphaeljs.com/reference.html#Raphael –