Typescript를 배우려고하며 믹스 인 아이디어로 놀고있었습니다. 나는 다음 코드를 가지고있다. 어리 석다. 또한, 그것을 실행할 때 작동합니다. 그러나 42 줄의 myInput.sendKeys(name);
은 "제공된 매개 변수가 대상의 서명과 일치하지 않습니다."라고 명시하고 있습니다. 그러나 나는 그것을 고치기 위해 무엇을 바꾸어야하는지 잘 모르겠습니다. 당신은 잘못 SendKeys
을 구현믹스 인을 타이프 스크립트로 사용할 때 제공되는 매개 변수 오류
function applyMixins(derivedCtor: any, baseCtors: any[]) {
baseCtors.forEach(baseCtor => {
Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {
derivedCtor.prototype[name] = baseCtor.prototype[name];
});
});
}
class SendKeys {
inputEl;
sendKeys(data: string) {
this.inputEl.value = data;
}
}
class InputClass implements SendKeys {
inputEl: HTMLInputElement;
constructor() {
}
sendKeys:() => void;
createInput(name: string) {
this.inputEl = document.createElement('input');
this.inputEl.type = 'text';
this.inputEl.setAttribute('id', name);
document.body.appendChild(this.inputEl);
document.body.appendChild(document.createElement('br'));
}
}
applyMixins(InputClass, [SendKeys])
let myInput = new InputClass();
let nameArr = ["frank", "Joe", "Laryy"];
for (let name of nameArr) {
myInput.createInput(name);
myInput.sendKeys(name);
}