2015-04-11 16 views
6

w moim app.js mam"Nieznany dostawca: ngDialogProvider"

var app = angular.module("atlas", ["ngRoute", "ngDialog"]); 

dla mojego kontrolera mam

app.controller("nodeController", function ($scope, $http, ngDialog) 

ngDialog robi błąd:

>Error: [$injector:unpr] Unknown provider: ngDialogProvider <- ngDialog <-nodeController

również ja użyto ponownie: css a nd js pliki

<link rel="stylesheet" href="~/Content/ngDialog-custom-width.css" /> 
<link rel="stylesheet" href="~/Content/ngDialog-theme-default.min.css" /> 
<link rel="stylesheet" href="~/Content/ngDialog-theme-plain.min.css" /> 
<link rel="stylesheet" href="~/Content/ngDialog.css" /> 

<script src="~/Scripts/jquery-2.1.3.min.js"></script> 
<script src="~/Scripts/angular.js"></script> 
<script src="~/Scripts/angular-route.js"></script> 
<script src="~/Scripts/ngDialog.js"></script> 

Próbowałem wszystkie odpowiedzi na stackoverflow i żaden z nich nie działa dla mnie

+0

@dfsq, to ​​cały kod. Problem polega na tym, że nie używam ngDialog jako parametru kontrolera, wszystko działa dobrze (kiedy dodaję ngDialog jako parametr, otrzymuję błąd), ale chcę ngDialog dla modalnych okien. – Disposer

+1

Oznacza to, że nie ma modułu ngDialog. Sprawdź, czy skrypt jest rzeczywiście załadowany, poprawna ścieżka, brak błędów / – dfsq

Odpowiedz

2

problem był config z ngDialogProvider

po var app = angular.module("atlas", ["ngRoute", "ngDialog"]);

musimy użyć:

app.config(["ngDialogProvider", function (ngDialogProvider) { 
    ngDialogProvider.setDefaults({ 
     className: "ngdialog-theme-default", 
     plain: false, 
     showClose: true, 
     closeByDocument: true, 
     closeByEscape: true, 
     appendTo: false, 
     preCloseCallback: function() { 
      console.log("default pre-close callback"); 
     } 
    }); 
}]); 
1

Ten sam komunikat o błędzie wystąpił, gdy po raz pierwszy próbowałam dodać aplikację ngDialog do mojej aplikacji, a następnie wypróbowałam poprawkę ngDialogProvider opisaną przez Disposer powyżej. To nie działa dla mnie. Potem zdałem sobie sprawę, że moja aplikacja została podzielona na dwa moduły; moduł najwyższego poziomu definiujący kontroler i moduł podstawowy definiujący usługę z pewnym kodem niższego poziomu. Mój kod jest skonstruowany w ten sposób, ponieważ zacząłem od tutoriala kątowego i fonekcyjnego jako szablonu. Wstrzykiwałem NgDialog do kontrolera i próbowałem go użyć w usłudze. Po poprawieniu wtrysku na właściwy moduł problem został rozwiązany.

Powiązane problemy