2015-02-04 6 views
5

Ricevo un errore non disponibile per il modulo quando provo a caricare "datatables" come parte della mia app AngularJS.Il modulo 'datatables' non è disponibile! Hai sbagliato a scrivere il nome del modulo o hai dimenticato di caricarlo.

angular.module('pricingOptionsTable', ['resources.pricingOptions', 'datatables']) 
    .controller('pricingDataController', ['$scope', 'poResource', 'DTOptionsBuilder', PricingDataController]) 
    .directive('pricingDataTable', ['$http', '$templateCache', '$compile', PricingDataTable]); 

`

regolatore del modulo è definito come:

function PricingDataController($scope, poResource, DTOptionsBuilder) { 

Nel index.html ho:

<script src="bower_components/jquery/dist/jquery.js"></script> 
<script src="bower_components/datatables/media/js/jquery.dataTables.js"></script> 
<script src="bower_components/angular/angular.js"></script> 
<script src="bower_components/angular-datatables/dist/angular-datatables.js"></script> 

sto usando AngularJS 1.3.9, jQuery 2.1.3, Angular Datatables 0.4.0 e Datatables 1.10.4.

Qualcuno ha avuto a che fare con questo problema con i dati angolari 0.4.0?

+0

@ dandavis no, è un modulo da dati angolari. – levi

+0

Dove viene caricato il tuo script .. ?? – squiroid

+1

Intendo il posto del tuo script nell'index.html – squiroid

risposta

3

Basta prendere una rapida occhiata al modulo di definition on Github, sembra che il modulo datatables prende una dipendenza dal datatables.directives e datatables.factory definito (anche nel repository git). Il datatables.directives a sua volta ha altre dipendenze (ad esempio datatables.renderer, datatables.options, ecc

Credo che la soluzione migliore per ottenere il modulo principale datatables attivo e funzionante è quello di caricare prima gli script 'foglia' di DataTable (vale a dire gli script che non hanno dipendenze) , seguita dalla datatables.renderer (che ha solo dipendenze degli script 'foglia'), seguito dallo script datatables.directives, poi finalmente caricare lo script datatables

quindi sarebbe simile a questa:.

`<script src='/some-path/datatables.util.js></script> 
<script src='/some-path/datatables.factory.js></script> 
<script src='/some-path/datatables.options.js></script> 
<script src='/some-path/datatables.renderer.js></script> 
<script src='/some-path/datatables.directive.js></script> 
<script src='/some-path/datatables.js></script>` 
+2

Una buona idea, ma tutti i file sorgente sono concatenati in un unico file nella [dist directory su Github] (https://github.com/l-lin/angular-datatables/tree/master/dist). È quel file concatenato che faccio riferimento nel mio HTML. –

Problemi correlati