Javascript 将数据从组件发送到Angular 2中的服务文件
我有一个 app.component.html 这将成功打印出我在搜索框中输入的每个击键值 但是,我正在尝试将击键值发送到我的task.service.ts(下面的代码)中的getResults()函数,以便我可以将击键值用于api调用Javascript 将数据从组件发送到Angular 2中的服务文件,javascript,angularjs,Javascript,Angularjs,我有一个 app.component.html 这将成功打印出我在搜索框中输入的每个击键值 但是,我正在尝试将击键值发送到我的task.service.ts(下面的代码)中的getResults()函数,以便我可以将击键值用于api调用 import { Injectable } from '@angular/core'; import { Http, Headers } from '@angular/http'; import 'rxjs/add/operator/map'; @Injecta
import { Injectable } from '@angular/core';
import { Http, Headers } from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class TaskService {
constructor(private http: Http) {
console.log("Task service initialized...");
}
//get our result for each keystroke, return it as an observable (json)
getResults() {
return this.http.get('http://localhost:8080/api/KEYSTROKES')
.map(res => res.json());
}
}
然而,我很难想出如何做到这一点。在app.component.html中,我可以只使用{keystroke}},但在task.service.ts中引用击键值似乎并不那么简单
如何将击键数据发送到task.service.ts,以便运行api调用
此外,我正试图以“正确的方式”创建Angular 2应用程序,因此欢迎所有评论。将事件处理程序绑定到您的输入
<input (ngModelChange)="getResults($event)" ...>
或
看
谢谢您的评论!如何在html中定义getResults?我目前有
,但当我运行此程序时,getResults只是未定义。哦,getResults()需要在@Component中,(并且事件处理程序应该重命名为onKeyUp())。这将调用您的服务。
import { Injectable } from '@angular/core';
import { Http, Headers } from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class TaskService {
constructor(private http: Http) {
console.log("Task service initialized...");
}
//get our result for each keystroke, return it as an observable (json)
getResults() {
return this.http.get('http://localhost:8080/api/KEYSTROKES')
.map(res => res.json());
}
}
<input (ngModelChange)="getResults($event)" ...>
<input (keyup)="getResults($event)" ...>