Angular.ui - 将数据传递给模态时出错

时间:2014-12-02 13:36:26

标签: javascript angularjs twitter-bootstrap

我创建了一个模式来编辑列表中的对象。 这是清单:

<div class="container">
  <label class="text-center">Previous Grades</label>
  <table class="table">
    <th ng-repeat="head in tableHeadings"> {{head}}</th>
    <tr ng-repeat="gr in grades track by $index" >
      <td > {{gr.name}}</td>
      <td>{{gr.teacher}}</td>
      <td> {{gr.score}}</td>
      <td><button class="btn btn-info btn-sm" ng-click="open($index)"><span class="glyphicon glyphicon-pencil"></span></button></td>
    </tr>
  </table>
</div>

这是打开模态的函数:

$scope.open = function (index) {
      var modalInstance = $modal.open({
        templateUrl: '../views/modalEdit.html',
        controller: 'modalInstanceController',
        resolve: {
          items: function () {
            return $scope.grades;
          },
          index: function (){
            return index;
          }
        }
      })

这是模态控制器:

.controller('modalInstanceController', function ($scope, $modalInstance, grades, index) {
    $scope.grades = grades;
    $scope.index = index;

    $scope.gradeEditing = $scope.grades[index];

    $scope.ok = function(){
      $modalInstance.close();
    };
    $scope.cancel = function(){
      $modalInstance.dismiss('cancel');
    }
  });

我得到了一个$ injector错误!我注入了决心值,但它仍然无效:/那是我得到的错误:

>  Error: [$injector:unpr] Unknown provider: gradesProvider <- grades
http://errors.angularjs.org/1.3.4/$injector/unpr?p0=gradesProvider%20%3C-%20grades

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

那是因为你定义了&#34;等级&#34;解决为&#34;项目&#34;,而不是成绩:

    resolve: {
      items: function () {
        return $scope.grades;
      },
      index: function (){
        return index;
      }
    }

如下所示,它将起作用:

    resolve: {
      grades: function () {
        return $scope.grades;
      },
      index: function (){
        return index;
      }
    }