如何在角度控制器

时间:2016-03-05 17:19:35

标签: angularjs firebase angularfire

我有两个数据库结构 一个是保持书籍概念名称

Concept
  |
   Chapter ID
       |
        Concept Id1
           |
             Concept Name: Concept 1
       |
       Concept Id2
           |
             Concept Name: Concept 2

另一个数据库结构用于书籍概念的内容描述它看起来像这个

Contents
     |
      Chapter Id
         |
         Concept Id1
               |
               Page Id1
                  |
                   PageNo:1
                   Text: this is page 1
                |
                Page Id2
                   |
                   PageNo:2
                   Text: This is page 2
            |
            Concept Id2
                Page Id3
                  |
                   PageNo:1
                   Text: this is page 1

在我的角度控制器中,我正在获取这样的概念,以便在HTML页面上显示:

var ref = new Firebase("https://app.firebaseio.com/concepts/"+chapterId);
$scope.concepts = $firebaseArray(ref);

我通过ng-repeat在HTML中获取$ scope.concepts,如下所示:

 <li ng-repeat="(id,concept) in concepts">

    <div class="row">

    <h3 ng-model="concept.conceptname">{{concept.conceptname}}</h3>

  </div>

现在我想显示每个概念有多少个页面,并希望在概念名称中显示该数字。

我通过firebase查询获取页面:

 var refPage=new Firebase("https://app.firebaseio.com/contents/"+chapterId+"/"+$scope.conceptId);
$scope.count=$firebaseArray(refPage);

我在相同的概念HTML页面上显示此计数,如下所示:

 <li ng-repeat="(id,concept) in concepts">

    <div class="row">

    <h3 ng-model="concept.conceptname">{{concept.conceptname}}</h3>

  </div>

    <div class="row">

    <div class="row" ng-repeat="count in count">

      <a ng-href="#/some URL/" target="_blank">Page {{count.PageNo}}</a>
      </div>

这总是返回no。最后一个孩子的页面,并显示每个概念相同的计数。 我希望它为Concept 1显示2页,为Concept 2显示1页。但它显示每个概念总共1页。 有没有办法获取相应概念ID的相应页面。

我也尝试过使用Firebase.util.NormalizedCollection,但它没有用。可能是我做错了。 任何帮助如何实现这一目标。 感谢。

0 个答案:

没有答案