【问题标题】:Angular Datatables: Unknown providerAngular 数据表:未知的提供者
【发布时间】:2016-05-05 15:17:58
【问题描述】:

我是 JS 和 Angular 的新手,试图在我的项目中实现 angular-datatable 版本。

首先我使用了“角度方式”,结果证明这是一个基于性能的错误决定。我的表中有很多行。所以我决定尝试使用 ajax 构建我的数据表并使用 dtOptionsBuilder 构建我的列并使用 dtOptions 填充表。

但是,我遇到了一些问题……我收到了一个未知的提供程序错误……更具体地说:

错误:[$injector:unpr] 未知提供者:datatablesProvider

我不太确定,我做错了什么?这是我的控制器。

angular.module("invoices").controller("OverviewCtrl", ["apiService", "datatables", 'utilsService', "$q", "invoiceService", "ngDialog", "$controller", "authFactory", "redirectService", "$rootScope", OverviewCtrl]);

function OverviewCtrl(apiService, utilsService, dtOptionsBuilder, dtColumnBuilder, $q, invoiceService, ngDialog, $controller, authFactory, redirectService, $rootScope) {
var NUMBER_OF_TIMEENTRIES_TO_SHOW = 10;
var vm = this;

if (!authFactory.identity.isAuthenticated) {
    redirectService.redirect("overview", 2, "login", 3);
}

vm.dtOptions = dtOptionsBuilder.fromSource(vm.latestInvoices)
.withPaginationType('full_numbers');
vm.dtColumns = [
    dtColumnBuilder.newColumn('CompanyName').withTitle('Client'),
    dtColumnBuilder.newColumn('ProjectName').withTitle('Project'),
    dtColumnBuilder.newColumn('InvoiceID').withTitle('ID'),
    dtColumnBuilder.newColumn('InvoiceDate').withTitle('Inv. Date'),
    dtColumnBuilder.newColumn('InvoiceStart').withTitle('Start Date'),
    dtColumnBuilder.newColumn('InvoiceEnd').withTitle('End Date'),
    dtColumnBuilder.newColumn('DKKexVAT').withTitle('DKK ex VAT'),
    dtColumnBuilder.newColumn('CustomerInvoiceGroup.Label').withTitle('CIG'),
    dtColumnBuilder.newColumn('Attention').withTitle('Attention'),
    dtColumnBuilder.newColumn('CustManager').withTitle('Customer Manager'),
    dtColumnBuilder.newColumn('Regarding').withTitle('Regarding'),
    dtColumnBuilder.newColumn('DueDate').withTitle('Due Date'),
    dtColumnBuilder.newColumn('Finalized').withTitle('Finalized'),
    dtColumnBuilder.newColumn('Paid').withTitle('Paid')
];

我已将数据表注入到手册中列出的 app.module.js 中。

'use strict';
(function() {
    angular.module('app', ['ui.router', 'invoices', 'ngDialog', 'infinite-scroll', 'datatables']);
})();

【问题讨论】:

  • 依赖注入错误。您需要包含“数据表”js 库。
  • 是否在index.html中引用?如包含在内吗?
  • 我已经按照手册加载了所需的库。 `
  • 你在 controllermodule 中都有 injected 依赖。只注入模块。

标签: javascript jquery angularjs datatable angular-datatables


【解决方案1】:

查看site中的示例:

您只需将datatables 注入模块即可。

从控制器中移除依赖。

【讨论】:

猜你喜欢
  • 2012-09-02
  • 2017-04-16
  • 2017-10-08
  • 2017-08-26
  • 1970-01-01
  • 2013-04-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多