如何解决为什么jQuery Datatable 中有sDom、oLanguage 这样的前缀?
我正在使用一个我已经启动的数据表,
var datatable = $('#datatble').DataTable({
... (Some stuff around there)
oLanguage: {
sSearch: '_INPUT_'
lengthMenu: '_MENU_',},language: {},sDom: '',});
我的问题是为什么像 sDom,oLanguage,sSearch
这样的属性有前缀?
如果没有 language: {},
,lengthMenu 属性不起作用。没有前缀,相应的属性不起作用。
请解释一下,为什么会这样?
那些 prefix
是什么意思?
解决方法
这些指定了它们的变量类型。 s
是字符串,b
是布尔值,o
是一个对象等等。它被称为 Hungarian Notation 并在它们的 FAQ 页面上指定
DataTables 有两个命名标准:
- 较旧的匈牙利符号名称(适用于 1.10 之前的版本)
- 新的驼峰命名法(从 1.10 开始)
如果您使用的是最新版本的 DataTables(从 1.10 版开始),您可以使用 new naming standard or the old one。
官方文档中有一页documents the mapping介于两种命名标准之间。
新的 1.10+ API 比旧的(1.10 之前的)API 大,因此在某些情况下,新的驼峰命名法没有旧的匈牙利风格等效项。
查看您问题中的示例之一:
oLanguage: {
sSearch: '_INPUT_',lengthMenu: '_MENU_',}
没有像 oLanguage.lengthMenu
这样的属性 - 它必须是:
-
sLengthMenu
如果您使用的是oLanguage
(旧样式) -
lengthMenu
如果您使用的是language
(新样式)
我建议尽可能使用新名称 - 特别是在新项目中。匈牙利表示法选项已弃用,将在未来版本中移除。但是您会看到许多旧示例和教程使用的旧名称。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。