
[英]How use sorting in ngx-datatable / ngx-datatable-column in Angular?
[英]How to use DataTable in Angular 2
我想在我的Angular 2应用程序中使用DataTable。 但这不起作用。 Angular 2中没有可能在模板中添加脚本标记。 你知道我怎么能这样做吗? 我想我必须在systemJs中做一些改变。
list.html:
<table id="example" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</tfoot>
<tbody>
<tr>
<td>Gavin Cortez</td>
<td>Team Leader</td>
<td>San Francisco</td>
<td>22</td>
<td>2008/10/26</td>
<td>$235,500</td>
</tr>
<tr>
<td>Martena Mccray</td>
<td>Post-Sales support</td>
<td>Edinburgh</td>
<td>46</td>
<td>2011/03/09</td>
<td>$324,050</td>
</tr>
</tbody>
</table>
我的组件:
...
declare var jQuery:any;
..
ngOnInit():any{
console.log("Augerufen");
jQuery('#example').DataTable();
}
...
在我的index.html中,我添加了所需的库:
<!-- Bootstrap Core CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/jquery.dataTables.min.css" rel="stylesheet">
<!-- jQuery -->
<script src="js/jquery.js"></script>
<script src="js/jquery.dataTables.min.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="js/bootstrap.min.js"></script>
提前致谢!
您可以为DataTable创建指令,然后在组件上使用该指令。
像那样:
import {Directive, ElementRef} from '@angular/core';
import {Input, OnInit} from '@angular/core';
import { JqueryDataTableEvent } from './jquery-datable-event';
import 'jquery.dataTables';
declare var jQuery:any;
@Directive({
selector: '[jqueryDatatable]'
})
export class JqueryDatatableDirective implements OnInit {
private _datatable : any;
@Input()
jqueryDatatable: any;
@Input()
dataTableEvents: JqueryDataTableEvent[];
constructor(private _element: ElementRef) {}
ngOnInit() {
this.applyOptions();
this.applyEvents();
}
applyOptions()
{
if (!this.jqueryDatatable)
console.error("Empty options array was passed to initialize jqueryDatatable.");
this._datatable = jQuery(this._element.nativeElement).DataTable( this.jqueryDatatable || {} );
}
applyEvents() {
this.dataTableEvents.map((event)=> {
this._datatable.on(event.eventName, event.selector, event.callback)
});
}
}
这个例子可以改进,但对于基本功能来说还可以。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.