ERROR TypeError: $(...).DataTable is not a function while using in angular 4

Posted

技术标签:

【中文标题】ERROR TypeError: $(...).DataTable is not a function while using in angular 4【英文标题】: 【发布时间】:2018-05-17 01:57:01 【问题描述】:

我收到 ERROR TypeError: $(...).DataTable is not a function while using angular 4.

解决此问题的任何建议。

【问题讨论】:

"解决此问题的任何建议。" 是的,包括 DataTables 库文件。 请分享步骤,如何包含DataTables库文件 添加库之后。我遇到了同样的问题。 我几乎没有使用 Angular 2/4/5 的经验,但我肯定会首先查看 l-lin.github.io/angular-datatables/#/getting-started,而不是尝试让裸独立的 jQuery 版本工作。 尝试以下 URL 中给出的解决方案。 ***.com/questions/32315701/… 【参考方案1】:

如果您将 jQuery 作为本地库导入,请在 *component.ts 文件中,例如:

import * as jquery from 'jquery'

删除该行并将其视为全局库:

declare var jquery: any;

declare var $: any;

或者只是将这两行之一添加到 src/typings.d.ts

【讨论】:

谢谢。声明 var $: any;帮助我在 Angular 6 中使用 jquery / datatables。 谢谢,@Bogdan 我也在数据表网站上搜索这个答案,但那里的任何解决方案都没有帮助您的解决方案。 谢谢。声明 var $: any;在 Angular 8.2.8 中使用 jquery / 数据表。【参考方案2】:

添加后我仍然没有得到数据表(数据表不是函数)

import * as $ from 'jquery';

然后我添加了下面的代码,它现在也可以工作了:

import 'datatables.net';

如果您仍然收到错误,请尝试以下方法:

import 'datatables.net-bs4';

【讨论】:

【参考方案3】:

En Laravel agregue "render" en los archivos importados。

小米app.blade.php

<script src="  asset('/assets/admin/plugins/jquery/jquery.min.js')  "></script> 
<script src="  asset('/assets/admin/plugins/bootstrap/js/bootstrap.bundle.min.js')  "></script> 
<script src="  asset('/assets/admin/dist/js/adminlte.min.js')  "></script> 
@yield('scripts')

Y en mi archivo que importo donde esta mi tabla agrego el "defer"

@section('scripts')
    <!-- DataTables -->
    <script src="  asset('/assets/admin/plugins/datatables/jquery.dataTables.min.js' )  " defer></script>
    <script src="  asset('/assets/admin/plugins/datatables-bs4/js/dataTables.bootstrap4.min.js')  " defer></script>
    <script src="  asset('/assets/admin/plugins/datatables-responsive/js/dataTables.responsive.min.js')  " defer></script>
    <script src="  asset('/assets/admin/plugins/datatables-responsive/js/responsive.bootstrap4.min.js')  " defer></script>
    <script src="  asset('/assets/admin/usuarios/listar_usuarios.js')  "></script>
@endsection

【讨论】:

请翻译成英文:) 请在 SO 上使用英文。

以上是关于ERROR TypeError: $(...).DataTable is not a function while using in angular 4的主要内容,如果未能解决你的问题,请参考以下文章

在 AdvanceDataGrid 中添加记录时:TypeError:错误 #1010:术语未定义且没有属性

Syntax Error: TypeError: this.getOptions is not a function

Error in nextTick: “TypeError: Converting circular structure to JSON

error = "TypeError: Object [object Object] has no method 'addUnique'\n at main.js:33:12";云

npm ERR! typeerror Error: Missing required argument #1

ERROR TypeError:“无法在”signUpForm“上分配给属性”validator“:不是对象”