Я знаю, что есть много других вопросов, относящихся к этому вопросу, но я не нашел тот, который хорошо согласуется с моим. Я работаю с angularjs, express, html и jquery. У меня есть структура данных, которая запрашивает папку для подкаталогов, а затем имеет возможность отображать данные в выбранном подкаталоге. Номенклатура подкаталога - это идентификатор клиента, а данные в подкаталоге - это документы. На странице, на которой включен datatable, я отправил параметр в таком формате: domain/client/:id
. На угловой стороне я смог зафиксировать этот параметр и фильтровать другие результаты. Но я не уверен, как это сделать в моем Datatable. Я знаю, как фильтровать результаты отображения в datatable, это не проблема. Проблема заключается в захвате этого параметра, а затем передаче его в мою функцию фильтра. Вот код для моего DataTable:DataTables - данные таблицы фильтров по параметру, указанному по URL
$(document).ready(function() {
var table = $(".linksholder").dataTable({
"fnCreatedRow": function(nRow, aData, iDataIndex) {
if (!aData.IsDirectory) return;
var path = aData.Path;
$(nRow).bind("click", function(e) {
$.get('/files?path=' + path).then(function(data) {
table.fnClearTable();
table.fnAddData(data);
currentPath = path;
});
e.preventDefault();
});
},
"aoColumns": [{
"sTitle": "",
"mData": null,
"bSortable": false,
"sClass": "head0",
"sWidth": "55px",
"render": function(data, type, row, meta) {
if (data.IsDirectory) {
return "<a href='#' target='_blank'><i class='fa fa-folder'></i> " + data.Name + "</a>";
} else {
return "<a href='/assets/" + data.Path + "' target='_blank'><i class='fa " + "'></i> " + data.Name + "</a>";
}
}
}],
});
$.get('/files').then(function(data) {
table.fnClearTable();
table.fnAddData(data);
});
$(".up").bind("click", function(e) {
if (!currentPath) return;
var idx = currentPath.lastIndexOf("/");
var path = currentPath.substr(0, idx);
$.get('/files?path=' + path).then(function(data) {
table.fnClearTable();
table.fnAddData(data);
currentPath = path;
});
});
});
Вы должны сделать это директивой, и тогда вы сможете передать свой параметр ему через 'scope' и атрибут директивы. Здесь есть много сообщений об использовании jQuery с директивой в Angular. – Lex