私のアプリケーションは、以下の例と同様の構造をしています。キャンバスを動的に作成するためのインターフェイスが必要です。これらの raphael オブジェクトを作成するときに、canvasActions をパラメーターとして指定します。
createCanvas-method で新しい canvas-object を作成すると、canvases-table に設定されたオブジェクトは Raphael 型であり、それに割り当てられた canvasActions を使用できないようです。問題は、canvasActions-function によって返されるインターフェイスでメソッドを使用できないことです。
特定の 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;
}());