【问题标题】:Ionic3 / Firebase / List-filterIonic3 / Firebase / 列表过滤器
【发布时间】:2018-07-12 14:34:59
【问题描述】:

几天以来,我从 Firebase db 中获得了有关如何列出的信息。

this.items$ = data.getNewsList()
let user = this.auth.getName();
console.log('user > ', user);

let ref = firebase.database().ref('/ftnews')

    ref.orderByChild("owner_name")
    .equalTo(user).on("child_added", 
        function(snapshot) 
        { 
        console.log('selection > ', snapshot.key);
        return ref
        }
    );

   this.selectedNews = data.getNewsList(), 
    ref => ref.orderByChild('owner_name').equalTo('user');
    console.log('this selectedNews >', this.selectedNews);

   this.selectedNews.subscribe(
      (selectedNews) => { 
          console.log("result here >", selectedNews);
          return selectedNews;
      } 
   );

我仍然在控制台上得到正确的结果,但无法在离子页面上显示结果?

任何教程可以帮助? 谢谢。

这里是html:

<ion-content>
  <ion-list text-wrap> 
     <ul>
      <li *ngFor="let item of snapshotData">
        {{ item.owner_name }} — {{ item.title }}
      </li>
     </ul>
  </ion-list>

  <ion-list>
     <ul>
       <li *ngFor="let item of selectedNews | async">
         here : {{ item.owner_name }} — {{ item.title }}
       </li>
     </ul>
  </ion-list>

  <ion-list>
    <ion-item *ngFor="let item of items$ | async | orderBy: 'postedAt' 
     : true; let i = index" (click)="itemTapped(item)">
      <ion-thumbnail item-left *ngIf="item.thumb && item.thumb[0]">
          <img src={{item.thumb[0].url}}/>
      </ion-thumbnail>
      <h2>{{ item.owner_name }} — {{ item.title }}</h2>
      <p class="as-post-meta">{{ item.postedAt | date:'short'}}</p>
      <p>{{ item.body | truncate : 70}}</p>
      </ion-item>
   </ion-list>
 </ion-content>

【问题讨论】:

  • 您能分享一下您是如何尝试显示结果的吗?基本分享你的模板和ts文件
  • 您必须访问的数据显示了一些示例数据。并指出哪些变量数据。

标签: typescript firebase ionic-framework


【解决方案1】:

我仍然在控制台上得到正确的结果,但无法在离子页面上显示结果?

根据您的问题,我了解您必须将值存储到变量的一些事情。然后您可以轻松地在 html 页面中访问。

打字稿文件,

Public snapshotData:any[]=[];


this.items$ = data.getNewsList()

let user = this.auth.getName();
console.log

let ref = firebase.database().ref('/ftnews')

    ref.orderByChild("owner_name")
    .equalTo(user).on("child_added", 
        function(snapshot) 
        { 
        console.log('selection > ', snapshot.key);
//here Iam assigned value to a variable
this.snapshotData=snapshot.key;
        return ref
        }
    );

如果你的结果可能是一个对象数组在你的html页面中你可以这样显示

 <ul>
    <li *ngFor="let item of snapshotData">

    {{  Item.name }}
    </li>

如果您提供一些示例数据,我将展示如何在 html 页面中显示。

我也怀疑我在这个答案中指出的变量是正确的还是错误的?如果错了告诉我,我会改变我的答案。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-12-03
  • 2023-03-23
  • 1970-01-01
  • 2015-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-25
相关资源
最近更新 更多