模块'数据表'不可用!您要么错误拼写了模块名称,要么忘记加载它

时间:2015-02-04 04:32:15

标签: javascript jquery angularjs datatables

尝试加载'datatables'作为AngularJS应用程序的一部分时,我得到一个模块不可用的错误。

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

`

模块的控制器定义为:

function PricingDataController($scope, poResource, DTOptionsBuilder) {

在index.html中我有:

<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>

我使用的是AngularJS 1.3.9,jQuery 2.1.3,Angular Datatables 0.4.0和Datatables 1.10.4。

有没有人使用angular-datatables 0.4.0来解决这个问题?

1 个答案:

答案 0 :(得分:3)

快速查看模块的definition on Githubdatatables模块似乎依赖于定义的datatables.directivesdatatables.factory(也在git存储库中) )。 datatables.directives又有其他依赖关系(例如datatables.renderer, datatables.options,等。

我认为让主datatables模块启动并运行的最佳选择是首先加载数据表的'leaf'脚本(即没有依赖关系的脚本),然后是datatables.renderer (它只依赖于'leaf'脚本),然后是datatables.directives脚本,最后加载datatables脚本。

所以它看起来像这样:

`<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>`
相关问题