我正在使用 SlickGrid 开发一个网络应用程序。
我们的应用程序在不同的选项卡/页面中有许多网格,因此我想知道是否可以重构一些代码,这样我就不会为单独的网格一遍又一遍地编写相同的函数。
一个例子: 我需要一个自定义格式化程序,因为我们有多个树网格(实现树结构的格式化程序对于每个网格都是相同的。): 函数 PercentCompleteFormatter(行、单元格、值、columnDef、dataContext)
鉴于我无法传递网格或数据 View 作为争论(假设上面的签名必须用于所有自定义格式化程序。),我基本上必须在创建网格的每个代码块内具有相同的格式化程序代码.有没有一种方法可以创建一个“通用”格式化程序并将其应用于所有网格?
同样的问题也适用于排序、过滤等……但我希望上述解释能够涵盖我想要问的问题。
谢谢!
最佳答案
您可以使用 jQuery 的 .proxy() 帮助器(或类似的)将函数绑定(bind)到特定上下文。
例如:
function MyFormatter(row, cell, value) {
var grid = this; // the grid will be the executing scope
// ...
}
var myFormatterForGridA = $.proxy(MyFormatter, gridA);
var myFormatterForGridB = $.proxy(MyFormatter, gridB);
关于javascript - 如何在多个 SlickGrid 上使用通用格式化程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10555488/