2016-05-29 14 views
3

私は(https://plnkr.co/edit/DlhNXU)角度材料の例に見られるように、対話のためのコントローラを定義しよう角度JSのコントローラを注入する問題

var TestApp = angular.module('TestApp', ['ngMaterial']); 

TestApp.controller('MainController', function MainController($scope, $mdDialog, $mdMedia, DialogController) { 
    ... 
    $mdDialog.show({ 
     controller: DialogController, 
     ... 
    }); 
    ... 
} 

しかし、私はいつもこの取得:

Error: [$injector:unpr] Unknown provider: DialogControllerProvider <- DialogController <- MainController

答えて

0

コントローラを挿入することはできません。だから、MainControllerでの依存性注入パラメータからDialogControllerを削除し、ダイアログのcontroller: 'DialogController'を使用します。

TestApp.controller('MainController', function MainController($scope, $mdDialog, $mdMedia) { 

    // ... 

    $scope.showImprintDialog = function(ev) { 
    var useFullScreen = ($mdMedia('sm') || $mdMedia('xs')) && $scope.customFullscreen; 
    $mdDialog.show({ 
     controller: 'DialogController', 
     templateUrl: 'impressum.html', 
     parent: angular.element(document.body), 
     targetEvent: ev, 
     clickOutsideToClose: true, 
     fullscreen: useFullScreen 
     }) 
     .then(function(answer) { 
     $scope.status = 'You said the information was "' + answer + '".'; 
     }, function() { 
     $scope.status = 'You cancelled the dialog.'; 
     }); 
    $scope.$watch(function() { 
     return $mdMedia('xs') || $mdMedia('sm'); 
    }, function(wantsFullScreen) { 
     $scope.customFullscreen = (wantsFullScreen === true); 
    }); 
    }; 

    // ... 

}); 

デモ:https://plnkr.co/edit/46YtlQbndPQ4n27uGFGQ?p=preview

+0

をしかし、別の問題を持って、外部ファイルにコントローラーを入れたいと思います。 – n00n

+0

しかし、別の問題がありました。コントローラーを外注したいのですが、もう見つけられません... https://plnkr.co/edit/wPIsxH – n00n

+0

申し訳ありませんが、バットの説明は "それ以上見つけられません"。私はエラーメッセージ "angular.js:13424 Error:[ng:areq]引数 'DialogController'は関数ではなく、定義されていません" – n00n

関連する問題