Javascript 角度4:将输入值传递给服务

Javascript 角度4:将输入值传递给服务,javascript,html,angular,typescript,Javascript,Html,Angular,Typescript,我是新手。 我有一个变量“md_id”,它绑定到视图,如下所示 HTML: 我希望基于选中的md_id的值,它应该将该md_id的特定值传递给另一个服务,该服务可以根据选择相应地显示结果 md_id的选定值应传递给以下服务 服务: public getName(md_id){ return this.http.get(url+'/api/names?md_id='+md_id) .map((resService: Response) => resService.json())

我是新手。 我有一个变量“md_id”,它绑定到视图,如下所示

HTML:

我希望基于选中的md_id的值,它应该将该md_id的特定值传递给另一个服务,该服务可以根据选择相应地显示结果

md_id的选定值应传递给以下服务

服务:

public getName(md_id){
   return this.http.get(url+'/api/names?md_id='+md_id)
   .map((resService: Response) => resService.json())
    }
组成部分:

 this.calendarService.getName(this.md_id).subscribe(data => this.promoName = data);
请您帮助我了解如何将绑定在视图中的一个服务的值传递到另一个服务中

我是不是错过了什么


请提供帮助。

只需将变量传递到
方法,如下所示:
(单击)=“runPromo(item.md\u id)”

并在
runPromo


基础知识:

只需将变量传递给
方法,如下所示:
(单击)=“runPromo(item.md\u id)”

并在
runPromo


基础知识:

您对
md\u id
driverData.md\u id
感到困惑

您没有在任何地方设置
md\u id
变量,只有
driverData.md\u id

完成你想做的事情的最佳方式是:

<td class="align-right" id="md_id" [(ngModel)]="item.md_id" name="driverId" ngDefaultControl (click)="runPromo(item)">{{item.driver_name}}

您对
md\u id
driverData.md\u id
感到困惑

您没有在任何地方设置
md\u id
变量,只有
driverData.md\u id

完成你想做的事情的最佳方式是:

<td class="align-right" id="md_id" [(ngModel)]="item.md_id" name="driverId" ngDefaultControl (click)="runPromo(item)">{{item.driver_name}}

要达到预期效果,请使用以下选项

HTML:

将“”作为runPromo()的参数传递

将md_id分配给组件服务调用中的服务-日历服务

  constructor(private calendarService: CalendarService) {

    this.runPromo = (v) =>{ 
       this.calendarService.getName(v.md_id).subscribe(data => this.promoName = data);
    this.promo1= !this.promo1;    
   }
  }

代码示例-

要获得预期结果,请使用下面的选项

HTML:

将“”作为runPromo()的参数传递

将md_id分配给组件服务调用中的服务-日历服务

  constructor(private calendarService: CalendarService) {

    this.runPromo = (v) =>{ 
       this.calendarService.getName(v.md_id).subscribe(data => this.promoName = data);
    this.promo1= !this.promo1;    
   }
  }

代码示例-

您是否正在尝试类似的操作-,单击每个单元格并检查所选Cellle的控制台您正在尝试类似的操作-,单击每个单元格并检查所选单元格的控制台它在控制台中给出以下响应:XHR加载失败:获取“”this.calendarService.getName(v.md_id)。订阅(data=>this.PromotionName=data);将在localhost:8000/api/promotionnames之后将md_id的对象更改为md_id值?如果服务正在工作,md_id=1应该在浏览器中工作在这种情况下,它不应该在控制台中显示以下消息::GET“localhost:8000/api/promotionnames?md_id=1”;而不是:XHR加载失败:GET“localhost:8000/api/promotionnames?md_id=[object%20Object];'v'是项值-{md_id:1,driver_name:'A'}对象,因此在日历服务中,使用v.md_id作为localhost:8000/api/promotionnames?md_id=1形成正确的url。它在控制台中给出以下响应:XHR加载失败:GET”“this.calendarService.getName(v.md_id).subscribe(data=>this.promotionname=data);将在localhost:8000/api/promotionnames之后将md_id的对象更改为md_id值?如果服务正在工作,md_id=1应该在浏览器中工作在这种情况下,它不应该在控制台中显示以下消息::GET“localhost:8000/api/promotionnames?md_id=1“而不是:XHR加载失败:GET“localhost:8000/api/promotionnames?md_id=[object%20Object]”;“v”是项值-{md_id:1,driver_name:'A'}对象,因此在日历服务中,使用v.md_id作为localhost:8000/api/promotionnames?md_id=1来形成正确的url
<tr *ngFor="let item of driverData">
                        <td class="align-right" id="md_id" [(ngModel)]="item.md_id" name="driverId" ngDefaultControl (click)="runPromo(item)">{{item.driver_name}}
                        </td>
                    </tr>
@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ],
  providers: [CalendarService]
})
  constructor(private calendarService: CalendarService) {

    this.runPromo = (v) =>{ 
       this.calendarService.getName(v.md_id).subscribe(data => this.promoName = data);
    this.promo1= !this.promo1;    
   }
  }