我想傳遞一個附加參數到graffle的連接函數,這樣我就可以根據該新參數在該行的末尾繪製一個帶/不帶箭頭的連接。如何傳遞一個額外的參數graffle.js
要繪製一個方面,我常做這樣的事情:
connections.push(paper.connection(obj1, obj2, "#000"));
現在我想這種方式添加新參數:
connections.push(paper.connection(condCol, ret, "#000",true));
但參數始終是undefined
這是我改變連接功能的方式:
Raphael.fn.connection = function (obj1, obj2, line, bg, addArrow) {
//...
if (line && line.line) {
//...
} else {
// based on the 'addArrow' parameter I can figure out
// whether I should put an arrow at the end of the line or not
var settings;
if (addArrow) {
//If addArrow was true, draw a arrow at the end of the line
settings = { "stroke": color, fill: "none", 'stroke-width': 2, 'arrow-end': 'block-midium-midium' };
}
else {
//If addArrow was false, just draw a line
settings = { "stroke": color, fill: "none", 'stroke-width': 2 };
}
return {
bg: bg && bg.split && this.path(path).attr({ stroke: bg.split("|")[0], fill: "none", "stroke-width": bg.split("|")[1] || 3 }),
line: this.path(path).attr(settings), //use the settings
from: obj1,
to: obj2
};
}
}
你有什麼想法,爲什麼這是行不通的?
在此先感謝。
爲'bg'參數傳遞'null'或空字符串有什麼不同? – Axel
在這種情況下,由於代碼測試b是否存在的方式並不重要。 JS中的空字符串在轉換爲布爾值時被視爲false。所以是空的。但其他代碼可能會以另一種方式進行測試。 –