美文网首页laravel核心laravel学习笔记Laravel
# `Laravel` 的 `Vue` 组件中使用 `DataT

# `Laravel` 的 `Vue` 组件中使用 `DataT

作者: Zeayal | 来源:发表于2017-04-03 12:57 被阅读104次

LaravelVue 组件中使用 DataTables 组件报 $().DataTable() not a functuon 错 (在引入其他 jquery 插件也有可能报错,如iCheck.js)

BUG 原因1:对 jQuery 的两次引用

讲一下最后的解决办法-》在最开始引入 vue 的编译文件 main.js/app.js

Paste_Image.png Paste_Image.png

尝试办法1:

1.要在引入 DataTable.js 之前引入 jQuery.js ,不然会报错。

2.Laravelresources/assets/js/bootstrap.js 中加载了 window.$ = window.jQuery = require('jquery');。但是单页应用的 index.blade.php 中要在引入 DataTable.js 之前引入 jQuery.js ,而最后我们还要引入编译的 vue 组件(组件中包含 jQuery),所以这里产生了对 jQuery 的两次引用。
解决办法是吧 window.$ = window.jQuery = require('jquery'); 注释或删除即可。

BUG 原因2:在 vue 组件中不能直接调用如 $('table').DataTable() ,需要用匿名函数外部封装调用:
尝试:写一个 common.js block工具

//common.js 
  const SetDataTable = table_id => {
    $(table_id).DataTable();
  };
//在vue组建中调用,如 users.vue
initDataTable() {
                SetDataTable('#datatable-fixed-header');
            },
            fetchUsers() {
                let self = this
                api.NProgress.start()
                axios.get(api.API_USERS).then(response => {
                    if(response.data.error) {
                        let error = response.data.error
                        window.location.reload();
                        alert(error.http_code);

                    } else {

                        this.users = response.data.data
                        //方法一
                        $(document).ready(function () {
                            self.initDataTable()
                        })
                        //方法二
                        setTimeout(() => {
                              self.initDataTable()
                        })
                    }

                    api.NProgress.done()

                }).catch(error => {
                    console.log(error)
                    api.NProgress.done()
                })
            },```



相关文章

  • # `Laravel` 的 `Vue` 组件中使用 `DataT

    Laravel 的 Vue 组件中使用 DataTables 组件报 $().DataTable() not a ...

  • node 以及vue环境配置

    写在前面: 这篇文档不涉及vue的语法,单纯是处理laravel中怎么用vue进行组件化开发的(vue组件化开发需...

  • laravel-mix提取Vue组件中的CSS样式

    对于想在 Laravel 项目中提取 Vue 组件中的 CSS 样式到一个文件中,laravel-mix 的文档写...

  • Vue/组件

    Vue/组件 创建组件 单独声明一个Vue.component,使用只需要在Vue实例下使用定义的组件名在组件中d...

  • vue和小程序父子组件通信比较

    1. 子组件的使用 Vue中 编写子组件 在需要使用的父组件中通过import引入 在vue的components...

  • Laravel学习之vue基础(一)

    在laravel中使用vue详情请移步官方文档:前端组件,本文虽然也是使用的lervel但是使用了一种特别笨的方法...

  • vue文档集合

    Vue2使用笔记3--父子组件的通信Vue 2.0开发实践(组件间通讯)Event Bus 在Vue中的使用vue...

  • 本期小结(一)

    vue★ Vue中引入jQuery vue使用element-ui vue的v-cloak使用 vue动态组件 v...

  • vue组件的使用模式

    最近使用vue的过程中,发现关于vue组件使用的问题,现根据我自己的理解,总结一下vue组件的使用模式:(1)多例...

  • Vue前端框架学习前言

    当前学习在后端laravel框架中 关于相关安装及使用,请参考laravel手册和Vue官网学习 指令

网友评论

    本文标题:# `Laravel` 的 `Vue` 组件中使用 `DataT

    本文链接:https://www.haomeiwen.com/subject/bganottx.html