javascript - 将变量传递给函数 - Angular

标签 javascript angularjs

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

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

当我尝试上述操作时,出现以下错误:

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

这是我正在尝试的代码 - 模态 Controller :

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
  };

});

主 Controller :

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注入(inject)到您的 Controller 中。

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

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

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

相关文章:

angularjs - 为什么我在尝试在 AngularJS 中附加 HTML 时收到错误?

javascript - AngularJS google图表动态数据

javascript - 尝试重置时,<option> 下拉列表为空

javascript - 对于我的井字板,有没有比 check4winner() 更好的函数

javascript - 如何在服务器上保存内联编辑器内容?

javascript - angular-route 和 angular-ui-router 有什么区别?

javascript - 比较两个数组以获取属性计数

javascript - 如何在 Javascript 中获取表单文本字段数组的长度

javascript - SVG Foreign Object 中的 Ace 编辑器

javascript - 屏幕抓取分页数据