Angular为modal.html拒绝访问

时间:2014-09-30 13:12:43

标签: angularjs

我有一个控制器,我在其中定义了一个函数及其模板。这是一个需要弹出的模态。 mymodal.html没有弹出模式和拒绝访问。

我的控制器/应用程序:

angular.module('myApp').controller('MyCtrl',function (
...
...
...
$scope.removeComment = function (reply) {
  var myModalInstance = $modal.open({
    scope: $scope,
    templateUrl: 'mymodal.html',
    controller: function ($scope, $modalInstance, reply) {

在我包含的模板中:

<div ng-app="myApp" ng-controller='MyCtrl'>

有什么不对?

1 个答案:

答案 0 :(得分:1)

我认为问题出在您的controller函数中:我认为reply未定义。如果你打开控制台,我想你会看到这样的东西:

Error: [$injector:unpr] Unknown provider: replyProvider <- reply

如果你想在你的控制器中注入一些东西,你可以写一些服务。

顺便说一句,如果您打算使用一些缩小器,您会看到错误,因为当您通过这种方式定义controller并缩减代码时 - 您的注射也将被缩小。

更好的方法是做这样的事情:

var app = angular.module('app', ['ui.bootstrap']);
app.controller('MyCtrl', ['$scope', '$modal', function ($scope, $modal) {
  $scope.removeComment = function (reply) {
    var myModalInstance = $modal.open({
      scope: $scope,
      templateUrl: 'mymodal.html',
      controller: 'modalController',
      ...
      });
    };
/* SOME CODE HERE */
}]);

app.controller('modalController', ['$scope', '$modalInstance', function ($scope, $modalInstance) {
  /* SOME LOGIC HERE */
}]);