如何在另一个类上的(单击)上运行打字稿功能

时间:2018-12-05 11:11:56

标签: c# asp.net-mvc angular

我以为这行得通,但是显然我尝试实现它的方式是不可能的,或者我只是做错了什么。

<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函数,因为它仅在绑定到的类中运行。我是否正确地做到了?有更好的选择吗?

0 个答案:

没有答案