Пока у вас загружен fontawesome, вы можете просто манипулировать свойством className
. Я порекомендую вам сбросить настройки макета кнопки по умолчанию через свойство dom
. Как указывают другие, не смешивайте угловые (+2) директивы с этой частью кода. Это, вероятно, не будет работать (я в angular1, но это то же самое дело) и действительно не нужно в любом случае. Вот пример:
buttons: {
//reset class and change the rendered tag
//from <button> to <i>
dom: {
button: {
tag: 'i',
className: ''
}
},
//since we now have completely unstyled icons add
//some space between them trough a .custom-btn class
buttons: [
{
titleAttr: 'Download as PDF',
extend: 'pdfHtml5',
className: 'custom-btn fa fa-file-pdf-o',
text: ''
},
{
titleAttr: 'Download as Excel',
extend: 'excelHtml5',
className: 'custom-btn fa fa-file-excel-o',
text: ''
},
{
titleAttr: 'Download as CSV',
extend: 'csvHtml5',
className: 'custom-btn fa fa-file-text-o',
text: ''
},
{
titleAttr: 'Print',
extend: 'print',
className: 'custom-btn fa fa-print',
text: ''
}
]
}
.custom-btn {
cursor: pointer;
margin-right: 5px;
}
https://jsfiddle.net/r47ao4h3/
У меня нет работающего plunkr, использующего DT и Angular2, но я могу создать пример Angular1, если хотите. Для всех это одна и та же сделка, разницы нет.