Невозможно обработать привязку при связывании таблиц данных с knockoutjs - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь использовать jquery datatables с knockoutjs.Сетка datatables отображается нормально, но в консоли окна браузера появляется ошибка.Может кто-нибудь, пожалуйста, помогите мне решить эту проблему и исправить меня, если я сделал что-то не так?

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/

1 Ответ

0 голосов
/ 12 октября 2018

Ошибка возникает из-за того, что вы пытались добавить новый столбец, свойство title которого равно null.Для jQuery DataTables требуется, чтобы это свойство было , а не 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/

...