您好我有一个输入搜索部分,用户在其中键入一个名称,它会动态发送一个带有该名称的 HTTP 获取请求。现在我需要在输入中接受两个参数(名字和姓氏),当用户输入它时,动态地将其分隔为单独的变量并发送这样的 GET 请求?first_name=${first name}&last_name=${last name}
现在,当用户键入时,我可以将其设置为名字或姓氏,但不知道如何将其分开..
我的输入如下所示:
<label for="i2" class="control-label">Search Employees</label>
<input name="term"
[(ngModel)]="term"
(keyup)="searchTerm()"
type="text"
class="form-control"
id="i2" />
在组件中:
ngOnInit(): void {
this.busy = this._dataService.searchTerm(this.term)
.subscribe(employees => this.employees = employees);
}
searchTerm() {
this._dataService.searchTerm(this.term)
.subscribe(employees => this.employees = employees)
}
我有一个使用该术语发出 api GET 请求的搜索服务:
searchTerm(searchString:any, searchString1:any, type="last_name", type1="first_name") : Observable<IEmployee[]> {
let headers = new Headers();
this.createAuthorizationHeader(headers);
this.url = `someUrl?${type}=${searchString}&${type1}=${searchString1}`;
this.numberUrl = `someUrl?employee_number=${searchString}`;
if (isNaN(searchString) || searchString < 1)
return this._http.get((this.url), {headers})
.map((resp: Response) => <IEmployee[]>resp.json())
else {
return this._http.get(this.numberUrl, {headers})
.map((resp: Response) => <IEmployee[]>resp.json())
}
}
我尝试拆分并使用正则表达式检测逗号,然后分隔searchString,但我无法在未定义的情况下使用拆分或正则表达式。
甚至可以将用户输入(一个 ngModel)动态分离为两个单独的值吗?