MVVM:如何使用属性声明columnShow事件处理程序?

MVVM:如何使用属性声明columnShow事件处理程序?,mvvm,kendo-ui,kendo-grid,Mvvm,Kendo Ui,Kendo Grid,ColumnShowed是在列菜单中显示列时触发的事件(参见kendoui文档中的事件) 我的问题是如何使用声明性方法以MVVM的方式设置事件列表器 到目前为止,我尝试了这两种方法(没有任何运气): data-bind='source: dataSource, events:{ columnShow: onColumnShow}'> 这个呢 data-column-show = function(e) { console.log(e.column.field); } 在这两种情况下,

ColumnShowed是在列菜单中显示列时触发的事件(参见kendoui文档中的事件)

我的问题是如何使用声明性方法以MVVM的方式设置事件列表器

到目前为止,我尝试了这两种方法(没有任何运气):

data-bind='source: dataSource, events:{ columnShow: onColumnShow}'>
这个呢

 data-column-show = function(e) { console.log(e.column.field); }
在这两种情况下,当我使用列菜单来显示原来隐藏的列时,什么也不会发生


有人知道答案吗?:)

使用事件绑定应该是可行的。以下代码段按预期工作:

<div id="grid" data-column-menu="true"     
  data-role="grid"     
  data-bind="source: items, events: { columnShow: columnShow }">
</div>
<script>
kendo.bind(document.body, {
  items: [
    { foo: "foo", bar: "bar" }
  ],
  columnShow: function(e) {
    alert(e.column.field);
  }
});
</script>

剑道绑定(document.body{
项目:[
{foo:“foo”,bar:“bar”}
],
columnShow:函数(e){
警报(如列字段);
}
});
以下是jsbin的现场演示: