Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular Rxjs:[ts]属性';管道';不存在于类型';一元函数<;可观察<;{}>;,可观察<;字符串{}>&燃气轮机';。任何_Angular_Typescript_Rxjs_Angular5_Rxjs5 - Fatal编程技术网

Angular Rxjs:[ts]属性';管道';不存在于类型';一元函数<;可观察<;{}>;,可观察<;字符串{}>&燃气轮机';。任何

Angular Rxjs:[ts]属性';管道';不存在于类型';一元函数<;可观察<;{}>;,可观察<;字符串{}>&燃气轮机';。任何,angular,typescript,rxjs,angular5,rxjs5,Angular,Typescript,Rxjs,Angular5,Rxjs5,我正在尝试实现ngbTypeAhead,但是使用5.5.5版本的RxJS存在问题。我从RXJS6版本中获取了这个示例 "rxjs": "^5.5.2" and angular "^5.0.1", "typescript": "~2.6.1", 当我尝试在焦点上实现typeahead时,出现了如下错误: *[ts] Property 'pipe' does not exist on type 'UnaryFunction<Observable<{}>, Observable

我正在尝试实现ngbTypeAhead,但是使用5.5.5版本的RxJS存在问题。我从RXJS6版本中获取了这个示例

"rxjs": "^5.5.2" and
 angular "^5.0.1",
"typescript": "~2.6.1",
当我尝试在焦点上实现typeahead时,出现了如下错误:

 *[ts] Property 'pipe' does not exist on type 'UnaryFunction<Observable<{}>, Observable<string | {}>>'.
any*


search2 = (text$: Observable<string>) => {
    const debouncedText$ = text$.pipe(debounceTime(200), distinctUntilChanged());
    const clicksWithClosedPopup$ = this.click$.pipe(filter(() => !this.instance.isPopupOpen()));
    const inputFocus$ = this.focus$;

    let mer = merge(debouncedText$, inputFocus$, clicksWithClosedPopup$);
    debugger;
    return mer.pipe(
      map(term => (term === '' ? this.roadList
        : this.roadList.filter(v => v.toLowerCase().indexOf(term.toString().toLowerCase()) > -1)).slice(0, 10))
    );
  }
*[ts]属性“pipe”在类型“UnaryFunction”上不存在。
任何*
search2=(文本$:可观察)=>{
const debouncedText$=text$.pipe(debounceTime(200),distinctUntilChanged());
const clicksWithClosedPopup$=this.click$.pipe(过滤器(()=>!this.instance.isPopupOpen());
const inputFocus$=this.focus$;
让mer=合并(debouncedText$,inputFocus$,单击SwithClosedPopup$);
调试器;
回油管(
地图(term=>(term==''这个.roadList
:this.roadList.filter(v=>v.toLowerCase().indexOf(term.toString().toLowerCase())>-1)).slice(0,10))
);
}

有谁能帮我解决一下如何重写上述search2方法的问题吗?

你很可能是作为一个操作符导入了
merge
,而你想要
merge
,它被称为“可观察的创建方法”,直接来自
'rxjs'

因此,请检查您是否真的在RxJS 6中使用此导入:

import { merge } from 'rxjs';
…而不是导入您不需要的
merge
运算符的此导入:

import { merge } from 'rxjs/operators'; // This imports just the operator
对于RxJS 5,请使用以下内容:

import { merge } from 'rxjs/observable/merge';

当我这样导入时,从'rxjs'导入{merge};作为/apps/node_modules/rxjs/Rx“”获取错误时,没有导出成员“merge”。通过从“rxjs/observable/merge”导入{merge}解决了此问题;谢谢!我忘了提到我发布的内容是针对rxjs 6的。对于rxjs 5,按照您的方式导入是正确的did@AhammadaliPK更新