如果我使用箭头函数,我可以路由到另一个组件,但我无法获取数据表值,下面是代码:
$('#list-country tbody').on('click', '.fa-edit', function() {
var tr = $(this).closest("tr");
var data = $("#list-country").DataTable().row(tr).data();
console.log(data);
this.router.navigate(['/apps/edit-country']);
this.routePage();
});
如果我使用普通功能,我可以获取值,但我无法路由,下面是代码:
$('#list-country tbody').on('click', '.fa-edit', () => {
var tr = $(this).closest("tr");
var data = $("#list-country").DataTable().row(tr).data();
console.log(data);
this.routePage();
});
这些功能在ngInit()
内。
答案 0 :(得分:0)
此解决方案可能对您有用:
this
(如果你有)使用self
代替this
,如下所示
var self = this; //declare this in constructor or method
$('#list-country tbody').on( 'click', '.fa-edit', function () {
var tr = $(this).closest("tr");
var data = $("#list-country").DataTable().row(tr).data();
console.log(data);
self.router.navigate(['/apps/edit-country']);
self.routePage();
});
答案 1 :(得分:0)
$('#list-country tbody').on('click', '.fa-edit', event => {
var tr = $(event.currentTarget).closest('tr')
var data = $('#list-country')
.DataTable()
.row(tr)
.data()
this.router.navigate(['/apps/edit-country']);
this.routePage()
})