使用$routeProvider时,Angular应用程序中的dataTables jQuery插
我想在我的Angular应用程序中使用dataTables jQuery插件,但是面临着Angular路由的问题.
我在$(document).ready中初始化dataTables并使用Angular $routeProvider来浏览我的视图.更改视图然后再返回到表时,dataTable未运行. 该表填充了来自多个ng-repeat指令的对象.下面没有包含此代码,因为它是一个非常庞大的表. 哪个是在Angular应用程序中初始化dataTables的首选方法,以通过指令,控制器或$(document).ready(function())来摆脱竞争条件,就像我现在一样? 我试过这个指令,但从来没有让它起作用: dataTable init: $(document).ready(function() { oTable = $('#t').dataTable({ "bSort": false,"bFilter": true,"bInfo": false,"sScrollY": "500px","sScrollX": "10%",//"sScrollXInner" : "150%","bScrollCollapse": true,"bPaginate": false,}); new FixedColumns(oTable); }); 我的桌子: </table id="t"> <..... TABLE CODE .....> </table> 解决方法
我建议你看一下这个.我刚刚开发了这段代码.它原生有棱角,易于理解.它是动态的,它是一个很酷的桌子.
http://plnkr.co/edit/pmCjQL39BWWowIAgj9hP?p=preview 就个人而言,我认为你正在为自己使用的代码组合问题做好准备.你是否有可能放弃使用jQuery?当我第一次开始使用ng时,我混入了大量的jQuery,这让我很头疼. 如果你想继续jQuery …. 我的猜测是你的角度应用程序和jQuery没有说话. 路由提供者加载部分.要从jQuery调用函数,必须使用Angular控制器的范围调用它,或者必须将jQuery所做的更改应用于范围. 如果您在路由提供程序中加载部分,则不会触发文档就绪事件.您可以将文档就绪代码存储到函数中,并在控制器或角度函数中调用它.坦率地说,结合它们是噩梦. 我构建了一个结合了kineticjs,jQuery和angular的项目,我不得不在angular函数中调用我所有的jQuery函数来使它全部工作. 所以你需要这些东西…… 这在你的角应用程序.. $scope.angularFunction = function () { JQueryfunction(); } 这不是角度.. JQueryfubction () { // your jQuery function logic } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |