我创建了一个模式来编辑列表中的对象。 这是清单:
<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
有什么想法吗?
答案 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;
}
}