如何向我的AngularJS模态框传递可选参数?以下是我的代码:
控制器A(触发器):
$modal.open({
templateUrl: 'UploadPartial.html',
controller: 'photos.uploadCtrl',
resolve: {
preselectedAlbum: function preselectedAlbum() {
return angular.copy($scope.selectedAlbum);
}
}
});
控制器 B (模态框):
app.controller('photos.uploadCtrl', [
'$scope',
'$modalInstance',
'$injector',
function uploadCtrl($scope, $modalInstance, $injector) {
if ($injector.has('preselectedAlbum')) {
console.log('happy'); // I want this to work, but $injector doesn't find it
} else {
console.log('sad'); // Always gets here instead :(
}
}
]);
注意:当我将preselectedAlbum
作为依赖项时,它可以工作,但是当我不明确传递它时,就会出现错误。我希望它是可选的。
$injector
服务对resolve:
对象一无所知。当它不需要时,你可能需要传递一个虚拟函数。或者改变传递preselectedAlbum
的方式,也许通过$scope
对象。 - runTarm