差异 btw Kendo 网格 _event 数据绑定和选项数据绑定
Discrepancy btw Kendo grid _event databound and option databound
对于Kendo网格,我们可以在初始化后使用bind订阅事件。
想象一下以下代码:(如果您想在 jsBin 中尝试,我已经为您提供了)
<div id="grid"></div>
<script>
function foo(e) {
console.log("foo");
}
function doo(e) {
console.log("doo");
}
$(document).ready(function() {
var grid = $("#grid").kendoGrid({
columns: [
{ field: "name" },
{ field: "age" }
],
dataSource: [
{ name: "Jane Doe", age: 30 },
{ name: "John Doe", age: 33 }
],
dataBound: foo
});
$("#grid").data("kendoGrid").bind("dataBound", doo);
debugger;
})
</script>
在调试器中,我在浏览器的控制台中观察到以下内容:
我看到绑定的doo只存在于_event数组中。这带来的麻烦是如果我需要通过以下方式重用这个网格配置:
$("newgrid").kendoGrid($("oldgrid").data("kendoGrid").options);
我会失去绑定事件。这是一个错误还是我以错误的方式解释它。谢谢。
grid.options
仅在网格初始化期间使用,初始化后绑定事件不是选项的一部分。
尽管您可以在初始化后更新选项中的网格 dataBound
事件:
grid.setOptions({
function(e){ foo(e); doo(e); }
})
对于Kendo网格,我们可以在初始化后使用bind订阅事件。
想象一下以下代码:(如果您想在 jsBin 中尝试,我已经为您提供了)
<div id="grid"></div>
<script>
function foo(e) {
console.log("foo");
}
function doo(e) {
console.log("doo");
}
$(document).ready(function() {
var grid = $("#grid").kendoGrid({
columns: [
{ field: "name" },
{ field: "age" }
],
dataSource: [
{ name: "Jane Doe", age: 30 },
{ name: "John Doe", age: 33 }
],
dataBound: foo
});
$("#grid").data("kendoGrid").bind("dataBound", doo);
debugger;
})
</script>
在调试器中,我在浏览器的控制台中观察到以下内容:
我看到绑定的doo只存在于_event数组中。这带来的麻烦是如果我需要通过以下方式重用这个网格配置:
$("newgrid").kendoGrid($("oldgrid").data("kendoGrid").options);
我会失去绑定事件。这是一个错误还是我以错误的方式解释它。谢谢。
grid.options
仅在网格初始化期间使用,初始化后绑定事件不是选项的一部分。
尽管您可以在初始化后更新选项中的网格 dataBound
事件:
grid.setOptions({
function(e){ foo(e); doo(e); }
})