Ich mache gerade ein Tutorial auf edx.org über Typescript2. Aber ich brauche Hilfe bei der Self Assessment Lab:Dice Rolling Application Typoskript
„Nun, da Sie die Grundlagen des gelernt haben, wie Typoskript zu verwenden, müssen Sie einen einfachen Würfel machen sind auf die folgenden Parameter rollt Anwendung:
Verwenden die folgenden Arten in Ihrer Anwendung. Array, Zahl, ein String, Boolean
eine eNUM Verwenden Sie die möglichen gewalzten Werte zu erklären (Hinweis: Sie müssen Zahlen nicht sein)
Verwenden Sie eine Klasse zu erstellen. Ihr Würfel, einschließlich typisierter Eigenschaften für die benötigten CSS-Stile (Länge, Breite, Rahmen, Farbe)) und für den im Würfel enthaltenen Wert.
Erstellen Sie eine Schnittstelle, um die Typen Ihres Dies zu beschreiben.
Erweitern Sie die Klasse mit einer dieRoller-Klasse, um eine Methode zum Rolling des Dies zu erstellen.
Erstellen Sie eine Funktion zum Instanziieren von Würfeln mit der dieRoller-Klasse, die Elemente mit der Funktion constructor() bindet.
Erstellen Sie eine Schaltfläche, um alle Würfel auf einmal zu rollen.
Das fertige Produkt soll in etwa so am Ende aussehen und soll zufällig einen anderen Wert aus dem Enum für jeden einzelnen Chip erzeugen, wenn die „Roll Dice“ Taste gedrückt wird.“
sollte es vier Würfel und danach ein Knopf (alles in einer Zeile)
Mein Problem ist, dass ich nicht in der Lage bin, nur eine Schaltfläche zu erstellen, oder dass ich rolleDice() nicht verwenden kann (wenn ich die Schaltfläche außerhalb der Klasse deklariere ... normalerweise eine würde es wahrscheinlich draußen deklarieren und eine Instanz der Klasse erstellen ... aber keine Ahnung, wie man das macht, weil die Klasse einen Konstruktor mit einem Parameter hat. Vielleicht hast du also eine Idee ... Oder ich nur die Aufgabe missverstanden? :/
Vielen Dank!
class diceRoller {
span: Element;
constructor(span: Element) {
this.span = span;
}
rolleDice(diceValue: number): boolean {
(<HTMLElement>this.span).textContent = diceValues[diceValue];
return true;
}
}
class dice extends diceRoller {
button: Element = document.createElement('button');
constructor(span: Element) {
super(span);
(<HTMLElement>span).style.cssText = "border: 5px solid black; display: inline-block; height: 50px; width: 50px; margin: 2px";
this.button.textContent = "Role Dice";
document.body.appendChild(this.button);
}
}
enum diceValues {
one,
two,
three,
four,
five,
six
}
interface diceTypes {
span: Element;
}
let Elements: Array<diceTypes> = [];
for (let index: number = 0; index < 5; index++) {
Elements.push({
'span': document.createElement('span'),
});
}
let getRandomIntInclusive: Function = (min, max) => {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
Elements.map((elem, index) => {
let cube = new dice(elem.span);
let button: Element = document.createElement('button');
document.body.appendChild(elem.span);
});