如何将带有 ngFor 循环的 StackLayout 制作成可滚动列表?

How can I make a StackLayout with ngFor loop into scrollable list?

 <StackLayout width="100%" *ngFor="let item of (videos$ | async)">
     <CardView class="studentCard" margin="2" elevation="10" radius="1">
        <GridLayout rows="auto, auto, auto" columns="auto, auto, *">
            <Image [src]="item.snippet.thumbnails.high.url" stretch="aspectFill" colSpan="3" row="0"></Image>
            <Label [text]="item.snippet.channelTitle" textWrap="true" row="2" colSpan="1" ></Label>
            <Label [text]="item.snippet.title" textWrap="true" row="2" col="1" colSpan="2" >></Label>
        </GridLayout>
     </CardView>
 </StackLayout>

我试着用 ScrollView 包装它,但没用。

我也无法让 (items$ | async)ListView 一起工作,似乎 ngFor 无法与 ListView 一起工作,我们需要 ng-template ListView.

我尝试了以下但只有第一项正在渲染

<ScrollView>
  <ListView [items]="videos$ | async" class="list-group">
    <ng-template let-item="item">
       <GridLayout  class="list-group-item">
         <Image [src]="item.snippet.thumbnails.high.url"></Image>
         <Label [text]="item.snippet.channelTitle" ></Label>
         <Label [text]="item.snippet.title">></Label>
       </GridLayout>
    </ng-template>
  </ListView>
</ScrollView>

先用 StackLayout 包装整个代码,然后用 ScrollView 包装整个代码

<ScrollView>
  <StackLayout>

   <StackLayout width="100%" *ngFor="let item of (videos$ | async)">
       <CardView class="studentCard" margin="2" elevation="10" radius="1">
          <GridLayout rows="auto, auto, auto" columns="auto, auto, *">
              <Image [src]="item.snippet.thumbnails.high.url" stretch="aspectFill" colSpan="3" row="0"></Image>
              <Label [text]="item.snippet.channelTitle" textWrap="true" row="2" colSpan="1" ></Label>
              <Label [text]="item.snippet.title" textWrap="true" row="2" col="1" colSpan="2" >></Label>
          </GridLayout>
       </CardView>
   </StackLayout>

  </StackLayout>
</ScrollView>