【问题标题】:Type '{Property: string, Property2: string} is not assignable to type Observable<Filters[]>类型 '{Property: string, Property2: string} 不可分配给类型 Observable<Filters[]>
【发布时间】:2018-07-02 12:28:38
【问题描述】:

我有一个方法:

getFilters(): Observable<Filters[]> {
    let filters: Observable<Filters[]> = [
      {
        property: "Value",
        property2: "Value2"
     },
     {
       property: "Value3",
       property2: "Value4"
     }
  return filters;
}

我收到一个错误:

Type '{Property: string, Property2: string} 不可分配给类型 可观察。

【问题讨论】:

    标签: angular typescript observable


    【解决方案1】:

    你需要创建一个 Observable:

    import { Observable, of } from "rxjs";
    
    getFilters(): Observable<Filters[]> {
        let filters: Filters[] = [
          {
            property: "Value",
            property2: "Value2"
          },
          {
            property: "Value3",
            property2: "Value4"
          }
         ];
        return of(filters);
        }
    

    【讨论】:

    • 我收到一个错误:“typeof Observable”类型上不存在属性“of”。
    • 添加正确的导入import {Observable} from "rxjs/Observable";
    • @sander: import { of } from 'rxjs'; stackoverflow.com/questions/38067580/…
    • @mrkernelpanic 我发布了一个答案我是如何工作的,编辑你的答案以便我可以接受它。
    【解决方案2】:

    我通过添加导入使其工作:

    import { Observable, of } from "rxjs";
    

    然后做

    return of(filters);
    

    【讨论】:

      【解决方案3】:

      这就是 observable 的工作原理:

      getFilters(): Observable<Filters> {
          let filters = [
            {
              property: "Value",
              property2: "Value2"
           },
           {
             property: "Value3",
             property2: "Value4"
           }
          ];
        return Observable.from(filters);
      }
      

      你可以像这样使用它:

      // Prints out each item
      let subscription = this.getFilters().subscribe(
      x => console.log('onNext: %s', x),
      e => console.log('onError: %s', e),
      () => console.log('onCompleted'));
      
      // => onNext: {property: "Value",property2: "Value2"}
      // => onNext: {property: "Value3",property2: "Value4"}
      

      详情请参阅this

      【讨论】:

        猜你喜欢
        • 2021-09-26
        • 2019-03-19
        • 2019-11-15
        • 1970-01-01
        • 1970-01-01
        • 2020-07-05
        • 1970-01-01
        • 1970-01-01
        • 2021-04-10
        相关资源
        最近更新 更多