我正在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()
提取的方法甚至安全吗?还是Ractive说我不应该这样做?