Ich benutze VueJS, um ein einfaches Ressourcenmanagement-Spiel/Interface zu erstellen. Momentan suche ich die Funktion roll
alle 12,5 Sekunden und verwende das Ergebnis in einer anderen Funktion. Im Moment obwohl ich folgende Fehlermeldung erhalte:VueJS Zugriff auf eine Methode von einer anderen Methode
Uncaught TypeError: Cannot read property 'roll' of undefined(...)
ich versucht habe:
app.methods.roll(6);
app.methods.roll.roll(6);
roll.roll()
roll()
kann aber scheinbar nicht auf die Funktion zugreifen. Irgendwelche Ideen, wie ich das erreichen könnte?
methods: {
// Push responses to inbox.
say: function say(responseText) {
console.log(responseText);
var pushText = responseText;
this.inbox.push({ text: pushText });
},
// Roll for events
roll: function roll(upper) {
var randomNumber = Math.floor(Math.random() * 6 * upper) + 1;
console.log(randomNumber);
return randomNumber;
},
// Initiates passage of time and rolls counters every 5 time units.
count: function count() {
function counting() {
app.town.date += 1;
app.gameState.roll += 0.2;
if (app.gameState.roll === 1) {
var result = app.methods.roll(6);
app.gameState.roll === 0;
return result;
}
}
setInterval(counting, 2500);
...
// Activates the roll at times.
}
}
Wo wollen Sie Zugang die 'Roll'-Methode? Ist es in der gleichen Komponente? In einer Kindkomponente? Eine übergeordnete Komponente? Geschwister? Oder an einem anderen Ort mit einer komplizierten Beziehung? – wing
Keine Komponenten im Moment überhaupt. Ich aktiviere die Zählmethode beim Laden der Seite, und innerhalb der Zählmethode suche ich nach der Roll-Methode. Der Aufruf befindet sich innerhalb der if-Anweisung in der Funktion counting(). Alles ist im Moment im Wurzelbereich. Refactoring zu Komponenten sobald ich die Barebone-Funktionalität abgeschlossen habe. – Jackanapes