使用Firebase和Angular填充数据表

时间:2015-12-31 05:12:14

标签: javascript html angularjs firebase angularfire

我对Firebase和整个网络开发小说都很陌生。

我正在尝试使用我的Firebase中的数据填充我网站中的数据表。

This is the datatable in bootstrap

以下是app.js

var app = angular.module("aocgApp", ["firebase"]);
app.controller("dataController", ["$scope", "$firebaseArray", 
function($scope, $firebaseArray) {
    var national = new Firebase("https://aoconsultinggroup.firebaseio.com/National");
    $scope.schools = $firebaseArray(national);
}]);

最后,html代码:

<div class="panel-body">
<div ng-app="aocgApp" ng-controller="dataController">
<div class="table-responsive">
    <table class="table">
        <thead>
            <tr>
                <th>School Name</th>
                <th>SATs</th>
                <th>GPA</th>
                <th>Tuition</th>
            </tr>
        </thead>
        <tbody>
            <tr ng-repeat="school in schools">
                <td>{{ schools.name }}</td>
                <td>{{ schools.sat24l }}</td>
                <td>{{ schools.gpa }}</td>
                <td>{{ schools.tuition }}</td>
            </tr>
        </tbody>
    </table>
</div>
</div>
</div>

感谢您的帮助。

编辑:以下是数据结构

 aoconsultinggroup
  L Business
  L CS
  L Engineering
  L National
    L 0
       L name
       L SAT
       L GPA
       L tuition
    L 1
       L name
       L SAT
       L GPA
       L tuition
    L 2
       L name
       L SAT
       L GPA
       L tuition
    L 3
       L name
       L SAT
       L GPA
       L tuition

1 个答案:

答案 0 :(得分:3)

模板中的变量名称错误,而schools不是national

<tr ng-repeat="school in schools">
  <td>{{ school.name }}</td>
  <td>{{ school.sat24l }}</td>
  <td>{{ school.gpa }}</td>
  <td>{{ school.tuition }}</td>
</tr>

在您的控制器中,您不需要使用$loaded()。下载数据后,$firebaseArray()将触发$digest循环。

所有你需要的是:

var national = new Firebase("<your-firebase-app>/National");
$scope.schools = $firebaseArray(national);

这是school in schools在模板中工作的原因。 schools变量来自控制器$scopeschool变量在模板中创建。