Я пишу компонент в Ractive JS v0.7.
Он имеет некоторое состояние: data.my_field
.У него есть метод myMethod
.У него также есть событие, my-event
:
const MyComp = Ractive.extend({
template: "#my-template",
isolated: true,
data: () => ({
my_field: 10,
myMethod(pow) {
return this.get('my_field') ** pow;
},
}),
oninit() {
this.on('my-event', (event) => {
const oldValue = this.get('my_field');
alert("Old Value: " + oldValue);
// Q: Is there a more direct way to call this?
// Set my_field to its square:
this.set('my_field', this.get('myMethod').call(this, 2));
});
}
});
Однако необходимость использовать .call(this, ...)
после .get('myMethod')
очень неэргономична и странна.Есть ли способ напрямую вызвать myMethod
из обработчика событий?Насколько безопасно вызывать метод, извлеченный с использованием .get()
?Или это то, что Рактив говорит, что я не должен делать?