Angular Observable链接:如何明确取消订阅

我有一连串的Observables:

for ( i=0;i<10;i++)
{
observableA$[i] = /*...*/;
observableB$[i] = observableA$[i].pipe(
  // ...
);
observableC$[i] = observableB$[i].pipe(
  // ...
);
observableD$[i] = observableB$[i].pipe(
  // ...
);
observableE$[i] = /*...*/;
observableF$[i] = combineLatest([observableD$[i],observableE$[i]]).pipe(
  // ...
); 

对于某些情况,我不希望在索引i = 2,3处显示行,所以现在如果我这样做:

<ng-container *ngFor="let er of observableA$; let i=index">             
                       <td>
                           {{ observableA$[i] | async }} 
                       </td>

        <ng-container> 

因此,在某些情况下,第2行和第3行不可见。

注意:我不想隐藏和取消隐藏该行,即显示:none并阻止将行保持在“异步可观察”状态。

如何从Async Observable中删除该行并重新附加Observable?

我正在这样做,这样我的进一步可观测值即

  • ObservableFilterA(取决于observableA)
  • ObservableFilterB(取决于observableB)
  • ObservableFilterC(取决于observableC)
  • ObservableFilterD(取决于observableD)

[这是每列上下拉列表的过滤器]

取决于这些Observables值,不应在处理时考虑这些值

例如ObservableFilterA:

this.ObservableFilterA$ = observableA$.pipe(    
     map((res:number[]) => {
       const data = res.filter(function(item,pos){
         return res.indexOf(item)== pos; 
       });

       return data;
     })
); 

现在ObservableFilterA $ Observable不应考虑observableA $,这些值不需要进一步处理

希望您能解决所有问题,如果还不清楚,抱歉,如果您希望我可以进一步解释,请

wondernuaa 回答:Angular Observable链接:如何明确取消订阅

我不确定我是否正确理解了您的问题。让我知道,如果我不知道,怎么办?

<ng-container *ngIf="observableA | async">
  <ng-container *ngFor="let item of (observableB$ | async)">
    <td>
      {{ item }}
    </td>
  </ng-container>
<ng-container>

我不知道您是在实现表格还是下拉菜单

本文链接:https://www.f2er.com/3162876.html

大家都在问