我想打开一个模态,声明模态文件名,以及要在模态范围内使用的图像URL。例如。:

ng-click="showModal('screenshot','http://placehold.it/800x550')"


当我尝试以上内容时,出现以下错误:

Error: [$injector:unpr] Unknown provider: imageUrlProvider <- imageUrl <- ModalController


这是我正在尝试的代码-模态控制器:

hmwsApp.controller('ModalController', function($scope, close, imageUrl) {

  $scope.imageUrl = imageUrl;

  $scope.close = function(result) {
    close(result, 500); // close after 500ms to allow for bootstrap to animate
  };

});


主控制器:

hmwsApp.controller('mainController', ['$scope', '$http', '$rootScope', 'ModalService', function($scope, $http, $rootScope, ModalService) {

$scope.showModal = function(modalUrl, imageUrl) {
  ModalService.showModal({
    templateUrl: '/views/modals/' + modalUrl + '.html',
    controller: "ModalController",
    resolve: {
      imageUrl: function () {
        return imageUrl;
     }
   }
  })
  .then(function(modal) {
    modal.element.modal();
    modal.close.then(function(result) {
      $scope.message = "Image shown " + result;
    });
  });
};

}]);


明显有什么问题吗?

最佳答案

您在这里做了什么:

hmwsApp.controller('ModalController', function($scope, close, imageUrl)


imageUrl注入到控制器中。

您要做的是在控制器方法内创建一个名为imageUrl的输入参数:

hmwsApp.controller('ModalController', function($scope) {
   $scope.showModal = function(screenshot,imageUrl){
      // do something
    }
    ......
  });

关于javascript - 将变量传递到函数中-Angular,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29668758/

10-09 21:39