我想打开一个声明模态文件名的模态,以及我想在模态范围内使用的图像网址。例如:
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;
});
});
};
}]);
有什么明显的错误吗?
答案 0 :(得分:4)
你在这里做了什么:
hmwsApp.controller('ModalController', function($scope, close, imageUrl)
将imageUrl
注入您的控制器。
你想要做的是在控制器方法中创建一个名为imageUrl的输入参数:
hmwsApp.controller('ModalController', function($scope) {
$scope.showModal = function(screenshot,imageUrl){
// do something
}
......
});