Ответ 1
Хорошо выглядит как ngDialog не поддерживает разрешение и пользовательскую инъекцию в контроллере. Однако вы можете сделать это вручную, создав экземпляр controller
самостоятельно:
ngDialog.open({
scope: $scope,
template: 'template.html',
controller: $controller('someCtrl', {
$scope: $scope,
name: 'Thomas'
})
});
то в контроллере вы сможете получить доступ к введенной службе/переменной:
app.controller('someCtrl', function($scope, name) {
console.log(name); // Thomas
});
Однако с этим подходом существует оговорка, потому что когда контроллер в экземпляре ngDialog
сам также вставляет $element
сервис, который является angular.element
экземпляр открытого диалога HTML (однако я сомневаюсь, что он даже необходим в контроллере). Но вы все равно должны это знать.