从0.7升级到0.9:如何访问我的事件的密钥路径?

时间:2017-08-14 00:40:45

标签: ractivejs

https://jsfiddle.net/zFiddler/gm9k4mrc/1/

鉴于此:

var view = new Ractive({
    el : '#container',
    template : "{{#item}}<a href='#' on-click='doSomething'>Do Something</a>{{/}}",
    data : {item : {name: "item"}}
})

view.on('doSomething', event => {
event.original.preventDefault();
console.log(event);
alert(event.keypath);
});

如何访问已触发事件的keypath?

1 个答案:

答案 0 :(得分:1)

在0.9中,以jQuery-esque方式,并且在组件和元素事件之间保持一致,通过ractive.on附加的处理程序现在将接收Context对象的实例作为第一个参数,它应包含所有内容您需要了解事件,它所来自的节点,附加到它的Ractive实例,等等。 DOM事件应该通过该对象的event属性提供(不再是有趣的original)。密钥路径可以通过context.resolve()获得。

view.on('doSomething', context => {
  const event = context.event
  event.original.preventDefault();
  console.log(event);
  alert(context.resolve());
});