在页面加载之前加载Angular JS数据

Imr*_*ran 2 javascript jquery angularjs

我想在AngularJS Page Load之前加载数据.我在Angualr上也使用bootstrap和JQuery.主要问题是我在页面上有表格,并使用JQuery进行分页和其他过滤器,包括响应性.

现在发生了什么,该页面加载了所有JQuery,后来我的数据出现在页面上,没有什么像分页等.我做了以下解决方法:

 <script>
      $(function () {
        //  document.body.style.overflow = 'hidden';
          setTimeout(
                  function() 

                      $('#example1').DataTable({
                          "paging": true,
                          "lengthChange": false,
                          "searching": true,
                          "ordering": true,
                          "info": true,
                          "autoWidth": true,
                          "scrollX": true
                        });
                  }, 500);

      });
    </script>
Run Code Online (Sandbox Code Playgroud)

我添加了手动延迟等待JQuery,以便该页面之前加载其数据.

任何人都可以告诉好的解决方案,如何确保在页面HTML呈现之前加载数据?

小智 6

我强烈建议不要使用jQuery进行分页.还有其他解决方案可以让Angular魔法为你工作,比如ui-grid,smart-table等.这些都需要你很少的努力.

如果你真的想继续这条道路,你可能会得到你想要$routeProvider.when的决心.当请求路由时,解析块将首先运行任何promise,并在转到该路由之前等待它们解析.Resolve还可以将该数据传递到路径的控制器中:

.when('/route', {
    ...,
    resolve: {
        dataYouWant: function(DataGettingService) {
            return DataGettingService.get();
        }
    }
})
Run Code Online (Sandbox Code Playgroud)

routeProvider