我正在使用Angulat应用程序,单击按钮并调用方法时,我需要一些信息以传递给另一个方法(或全局变量的值)。这是主意:
<tr (click)="select(data.id)" *ngFor="let data of User">
当我单击此按钮时,我会将ID发送到“选择”方法,该方法将运行一些jquery,并使该特定选项变为灰色。这样做时,我需要将“ data.id”作为全局变量的值传递。发生这种情况是因为我有一个“编辑”按钮,它将使用此ID
这里是按钮:
<a (click)='redirect()' id="edt">
这些是方法:
Data: number;
select(data: number) //this is the data.id
{
$("tr#body").click(function(){
$("tr#body").css({
'background-color' : 'transparent'
})
$(this).css({
'background-color' : 'rgba(0,0,0,.2)'
})
})
this.Data = data;
}
redirect(){
this.router.navigateByUrl('Someurl/' + Data)
}
我需要“重定向”才能使用“选择”中的数据,我这样做的想法是定义一个名为“ Data”的全局变量,并尝试使用类似的方法保存本地的“ data”值
this.Data = data;
但是全局变量Data从不从'select'中获取值。我应该怎么做?
OBS:我无法从“ select”中调用“ redirect”方法,因为“ EDIT”不是唯一可能要使用Id值的方法
答案 0 :(得分:1)
我认为那你会写类似
redirect(){
// this.router.navigateByUrl('Someurl/' + this.Data);
this.router.navigate(['Someurl', this.Data]);
// both way you can do it
}
答案 1 :(得分:0)
我设法通过将ID的值放入cookie中并在以后调用它来使其工作。 这不是最好的事情,但是可以。
this.cookieService.set('ID', data);