Yeterli kaynak yönetimi oyunu/arabirimi oluşturmak için VueJS kullanıyorum. Dakikada her 12.5 saniyede bir roll
işlevini etkinleştirmek ve sonucu başka bir işlevde kullanmak istiyorum. Ben denedimVueJS başka bir yöntemden bir yönteme erişme
Uncaught TypeError: Cannot read property 'roll' of undefined(...)
:
app.methods.roll(6);
app.methods.roll.roll(6);
roll.roll()
roll()
ancak işlevlere erişemiyor gibi görünüyor. Bunu nasıl başarabileceğimi bilen var mı?
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.
}
}
:
yöntemi (örneğin yukarıdaki örnektevm
gibi) bir değişkene örneği atayabilirsiniz bir Vue hesabı dışındaki bir yönteme erişmek ve çağırın 'roll' yöntemi? Aynı bileşen içinde mi? Çocuk bileşeninde mi? Bir ana bileşen mi? Kardeş? Ya da karmaşık bir ilişki ile başka bir yer? – wingŞu anda hiç bileşen yok. Sayma yöntemini sayfa yüklemesinde etkinleştiririm ve sayım yönteminin içinde rulo yöntemini etkinleştirmeyi düşünüyorum. Çağrı, counting() işlevindeki if ifadesinin içinde yer alır. Şu anda her şey kök kapsamda. Barebone işlevini tamamladığımda bileşenlere yeniden düzenlenecektir. – Jackanapes