我以为这行得通,但是显然我尝试实现它的方式是不可能的,或者我只是做错了什么。
<h1>Makes</h1>
<p *ngIf="!makes"><em>Loading...</em></p>
<table class='table' *ngIf="makes">
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>Abrv</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let make of makes">
<td>{{ make.id }}</td>
<td>{{ make.name }}</td>
<td>{{ make.abrv }}</td>
<td>
<a [routerLink]="['/editMake/', make.id]" (click)="MakeSelected(make)">Edit</a> |
<a [routerLink]="['/detailsMake/', make.id]">Details</a>|
<a (click)="deleteMake(make.id)">Delete</a> |
</td>
</tr>
</tbody>
</table>
<a [routerLink]="['/createMake/']" >Create new</a>
请参阅我具有该html表单,当前问题是“编辑”链接。看到它当前会重定向您执行/ editMake / id,然后调用函数MakeSelected(make)。但是,该MakeSelected函数不在表单绑定到的类中。它位于/ editMake /类中。
看起来像这样
MakeSelected(make: Makes)
{
this.CurrentId = make.Id;
this.CurrentName = make.Name;
this.CurrentAbrv = make.Abrv;
}
因此,它应该接受make对象,然后将其与局部变量相等。然后使用这些局部变量将传递的信息填写到编辑表单中。
<input name="Name" ngDefaultControl type="text" [(ngModel)]="currentName"/>
但是问题是我无法在/ editMake /类中运行MakeSelected函数,因为它仅在绑定到的类中运行。我是否正确地做到了?有更好的选择吗?