我下载Kinetic.d.ts从Kinectic.d.tskinetic.d.ts的插件标签丢失
它遗漏标签插件,所以我试图创建它。
我创建:
class Label extends Group
{
constructor(config: LabelConfig);
setText(text: Text);
getText(): Text;
setRect(rect: LabelRect);
getRect(): LabelRect;
}
class LabelRect extends Shape
{
constructor(config: LabelRectConfig);
setPointerDirection(pointerDirection: string);
setPointerWidth(pointerWidth: number);
setPointerHeight(pointerHeight: number);
setCornerRadius(cornerRadius: number);
getPointerDirection(): string;
getPointerWidth(): number;
getPointerHeight(): number;
getCornerRadius(): number;
}
interface LabelConfig extends DrawOptionsConfig, ObjectOptionsConfig
{
rect: LabelRect;
text: Text;
}
interface LabelRectConfig extends DrawOptionsConfig, ObjectOptionsConfig
{
pointerDirection?: string;
pointerWidth?: number;
pointerHeight?: number;
cornerRadius?: number;
}
我得到这个错误(我格式化错误读取目的):
Error 1 Supplied parameters do not match any signature of call target:
Could not apply type 'LabelConfig' to argument 1, which is of type
'{
x: number;
y: number;
opacity: number;
listening: bool;
text:
{
text: string;
fontFamily: string;
fontSize: number;
padding: number;
fill: string;
};
rect:
{
fill: string;
pointerDirection: string;
pointerWidth: number;
pointerHeight: number;
lineJoin: string;
};
}'
我实例化的标签,如:
var labelNumerator = new Kinetic.Label(
{
x: LEFT_MARGIN + numerator.getTextWidth() + 50,
y: numerator.getY() + 5,
opacity: 0.75,
listening: false,
text: {
text: 'Numerator',
fontFamily: FONT,
fontSize: LABEL_FONT_SIZE,
padding: LABEL_PADDING,
fill: LABEL_TEXT_COLOR
},
rect: {
fill: LABEL_BACKGROUND_COLOR,
pointerDirection: 'left',
pointerWidth: LABEL_FONT_SIZE + LABEL_PADDING * 2,
pointerHeight: LABEL_FONT_SIZE + LABEL_PADDING * 2,
lineJoin: 'round'
}
}
);
我错过了什么?
比较的是输入您已声明的接口时,我看不出什么毛病,所以也许你错过了所需的这些接口的一个'LabelConfig'或'LabelRect'或'Text'延伸的特性。一种检查方式可能是创建一个虚拟类,它实现''LabelConfig'',看看编译器是否指出了一些缺失的属性(你可能需要深入研究'LabelRect'和'Text'。 – JcFx 2013-05-10 19:25:19