0

My JavaScript is:

$scope.questionsTable = new NgTableParams({}, {
  getData: function($defer, params) {
    return $http.get("/api/questions", {
      params: searchParams
    }).then(function(response) {
      params.settings({
        total: response.data.count
      });
      console.log(response.data.questions);
      return $defer.resolve(response.data.questions);
    });
  }
});

And response.data.questions definitely is an array. In my view, I have

<table class="bordered striped highlight" ng-table="questionsTable">
    <tr ng-repeat="question in $data">
      <td class="top-td">
        <a href="#" ng-click="loadQuestionModal(question.id)">
          {{ question.id }}
        </a>
      </td>
      <td class="top-td">
        <h6 markdown-to-html="question.Instruction.instructionText"></h6>
        <blockquote ng-show="k8englishSubject" markdown-to-html="question.questionText"></blockquote>
        <blockquote markdown-to-html="question.questionText" mathjax-bind="question.questionText" ng-show="k8mathSubject"></blockquote>
      </td>
      <td class="top-td"><ng-include src="'/views/partials/answerList.html'"></ng-include></td>
      <td class="top-td" ng-show="k8englishSubject">
        <a ui-sref="passages.upsert({passageId: question.PassageId})" ng-show="question.PassageId">
          {{ question.Passage.passageTitle }}
        </a>
      </td>
      <td class="top-td">{{ question.level }}</td>
    </tr>
</table>

however, my table has no rows being rendered. What am I doing wrong?

Shamoon
  • 41,293
  • 91
  • 306
  • 570

1 Answers1

0

Turns out I just need to do

$scope.questionsTable = new NgTableParams({}, {
  getData: function($defer, params) {
    return $http.get("/api/questions", {
      params: searchParams
    }).then(function(response) {
      params.settings({
        total: response.data.count
      });
      console.log(response.data.questions);
      return response.data.questions;
    });
  }
});

Since the $http already returns a promise.

Shamoon
  • 41,293
  • 91
  • 306
  • 570