3

md ダイアログ サービスで変数を渡そうとしていますが、md ダイアログ サービスの不明なプロバイダー エラーが発生します。

私がこれまでに試したことは次のとおりです-

$mdDialog.show({
                controller: 'SignInModalController',
                templateUrl: 'views/partials/signin_modal.html',
                targetEvent: ev,
                size: 'sm',
                parent: angular.element(document.body),
                locals: {
                    "login_cookies": cookies
                }
            })

この locals オブジェクトを、次のコードを持つサインイン モーダル コントローラーに渡そうとしています - >

app.controller('SignInModalController', ['$scope', '$stateParams', '$location', '$mdDialog', 'Auth', '$mdToast', 'login_cookies',
    function($scope, $stateParams, $location, $mdDialog, Auth, $mdToast, login_cookies) {

この後、コンソールに次のエラーメッセージが表示されます - >

Error: [$injector:unpr] Unknown provider: login_cookiesProvider <- login_cookies <- SignInModalController
http://errors.angularjs.org/1.4.3/$injector/unpr?p0=login_cookiesProvider%20%3C-%20login_cookies%20%3C-%20SignInModalController

また、サインイン モーダル コントローラー ファイルは、このように angular アプリの初期ブートストラップ中に遅延ロードされます - >

.state('app', {
                        abstract: true,
                        url: '/app?feedback',
                        views: {
                            '': {
                                templateUrl: 'views/layout.html'
                            },
                            'aside': {
                                templateUrl: 'views/aside.html'
                            },
                            'content': {
                                templateUrl: 'views/content.html'
                            }
                        },
                        resolve: load([
                            'scripts/google_analytics.js',
                            'scripts/controllers/app/aside.js',
                            'scripts/controllers/app/navbar.js',
                            'scripts/controllers/app/reach_us.js',
                            'scripts/controllers/app/labs/filter.ctrl.js',
                            'scripts/controllers/app/signin_modal.js',
                            'scripts/controllers/app/feedback.js'])
                    })

このエラーを解決するには、他にどのような点を確認する必要がありますか?

アップデート

ダイアログを開くとすぐにダイアログコントローラーにブレークポイントを設定すると、次の結果が得られます-

デバッグ

ご覧のとおり、渡された配列 ( list_cookies) には値がありますが、コンソールでこのエラーが発生しています -

コンソール

助言がありますか ?

4

2 に答える 2

-1

dialogLocals問題は、自分に注入してからasSignInModalControllerにアクセスすることだと思います。login_cookiesdialogLocals.login_cookies

だから変更:

app.controller('SignInModalController', ['$scope', '$stateParams', '$location', '$mdDialog', 'Auth', '$mdToast', 'login_cookies', function($scope, $stateParams, $location, $mdDialog, Auth, $mdToast, login_cookies) {

に:

app.controller('SignInModalController', ['$scope', '$stateParams', '$location', '$mdDialog', 'Auth', '$mdToast', 'dialogLocals', function($scope, $stateParams, $location, $mdDialog, Auth, $mdToast, dialogLocals) {

次に、次のようにアクセスしますSignInModalController

dialogLocals.login_cookies
于 2016-12-19T18:12:26.607 に答える