我正在使用ngbTypeahead进行类型提前搜索功能,但是我想知道是否可以将参数传递给搜索功能。
<input id="typeahead-basic" type="text" class="form-control" [(ngModel)]="model" [ngbTypeahead]="search(param1, param2)"/>
角度
search = (text$: Observable<string>) =>
text$.pipe(
debounceTime(300),
distinctUntilChanged(),
tap(() => (this.searching = true)),
switchMap(term =>
this.underwritingServiceWrapper.search(term).pipe(
tap(() => (this.searchFailed = false)),
catchError(() => {
this.searchFailed = true;
return of([]);
})
)
),
tap(() => (this.searching = false))
)
我已经检查过了,但是似乎不起作用。 Angular 2 ng bootstrap typehead pass additional parameter
有人可以帮我举个例子吗?
答案 0 :(得分:1)
const char* GPU::shaders[2] = {
R"(
#version 460
layout(location = 0) in ivec3 vertex_position;
layout(location = 1) in ivec4 vertex_colour;
layout(location = 7) uniform mat4 prj_matrix;
out vec4 colour;
void main() {
colour = vec4(vertex_colour) / 255.0;
gl_Position = prj_matrix * vec4(vertex_position, 1.0);
}
)"
,
R"(
#version 460
in vec4 colour;
out vec4 frag_colour;
void main() {
frag_colour = colour;
}
)"
};
输入应该是一个将字符串的可观察值作为参数并返回数组或结果的可观察值的函数。即它必须为ngbTypeahead
类型(如api doc所示)。
如果(text: Observable<string>) => Observable<any[]>
是一个带有两个参数并返回返回这样的函数的方法,那么您的代码就可以了:
search
但这不是。我不确定您要在这里实现什么。也许您只需要在函数中使用search(param1: SomeType, param2: SomeOtherType): (text: Observable<string>) => Observable<any[]> {
return (text$: Observable<string>) => text$.pipe(
...
);
}
和this.param1
:
this.param2