如何在 Slim 模板中使用 Ractive 的 on-tap 属性?

How can I use Ractive's on-tap attribute with Slim templates?

在我的 Slim 模板中,我有:

th class=="sortable {{ sortColumn === 'name' ? 'sorted' : '' }}" on-tap=="sort:name" Name

这呈现:

<th class="sortable sorted">Name</th>

单击项目时未调用排序方法。

on-tap 属性应该在这种情况下起作用还是需要不同的语法?我试过 Slim 的 splat 属性:

th class=="sortable {{ sortColumn === 'name' ? 'sorted' : '' }}" *({:on-tap => ["sort:name"]})

但是 Slim 在点击 on-tap 时抱怨。

感谢任何帮助。

已编辑:抱歉,我第一次误解了。基于此:

The sort method is not being called when the item is clicked.

我怀疑您混淆了方法调用和事件。

如果要调用ractive实例的方法,语法为:

on-tap='sort("name")'

并将通过以下方式处理:

new Ractive({
   sort: function(name){

   }
});

如果你想引发一个事件,你可以使用你拥有的语法:

on-tap='sort:name'

并通过以下方式处理:

new Ractive({
   oninit: function(){
       this.on('sort', function(event, name){

       });
   }
});

参见 http://jsfiddle.net/yccknhh5/