【问题标题】:Unable to process binding when binding datatables with knockoutjs使用 knockoutjs 绑定数据表时无法处理绑定
【发布时间】:2018-10-12 14:46:39
【问题描述】:

我正在尝试将 jquery 数据表与 knockoutjs 一起使用。数据表网格呈现正常,但在浏览器窗口的控制台中看到错误。如果我做错了什么,有人可以帮我解决这个问题并纠正我吗?

http://jsfiddle.net/5hwg1p36/

**Error:**
knockout-min.js:73 Uncaught TypeError: Unable to process binding "dataTable: function(){return { deferRender:true,scrollY:'200',scrollX:true,paging:true,select:Select,dom:'t,p',columns:Columns,columnDefs:ColumnDefinitions,data:Data,pagingType:'full'} }"
Message: Cannot read property 'replace' of null
    at Jb (jquery.dataTables.min.js:68)
    at jQuery.fn.init.<anonymous> (jquery.dataTables.min.js:91)
    at jquery.dataTables.min.js:76
    at Function.map (jquery-3.3.1.js:443)
    at r (jquery.dataTables.min.js:76)
    at P (jquery.dataTables.min.js:31)
    at T (jquery.dataTables.min.js:31)
    at ha (jquery.dataTables.min.js:48)
    at e (jquery.dataTables.min.js:93)
    at HTMLTableElement.<anonymous> (jquery.dataTables.min.js:93)

[JS Fiddle for this issue is here: ][1]


  [1]: http://jsfiddle.net/5hwg1p36/

【问题讨论】:

标签: jquery knockout.js datatables


【解决方案1】:

发生错误是因为您尝试添加一个其title 属性为null 的新列。 jQuery DataTables 要求该属性为 not null

修复很简单,只需将title: null 更改为title: ""。在您的小提琴中,它在线上35

self.Columns.push({
    data: null, 
    title: "", // this property cannot be null, so use empty string instead
    searchable: false, 
    visible: true, 
    orderable: false, 
    defaultContent: ''
});

工作小提琴:http://jsfiddle.net/5hwg1p36/1/

【讨论】:

  • 谢谢,感谢您的帮助。
猜你喜欢
  • 2013-05-01
  • 2015-02-26
  • 2015-05-14
  • 1970-01-01
  • 2013-12-22
  • 2019-03-30
  • 1970-01-01
  • 2017-07-18
  • 2022-01-15
相关资源
最近更新 更多