如何使用angularjs避免视图的闪烁

时间:2016-06-21 12:22:45

标签: javascript angularjs

我正在使用stateProvider进行路由。

问题:

当我点击任何链接时,我的控制器会递归调用工厂服务。发生的事情是,在每次成功的ajax调用后,我的视图会闪烁或闪烁。 (我不喜欢)

请提供一些提示。到目前为止,我已经尝试了ng-cloakclass="ng-cloak",但没有运气。

问题: 在完成所有ajax调用之前,如何避免这些闪烁效应。

  .state('vehicle', {
      abstract:true,
      url: "/vehicle",
      template: '<div ui-view style="height:100%"></div>',          
      controller:'vehicleManagementCtrl'
  })
  .state('vehicle.list', {
        url: "",          
        templateUrl: 'views/br_manager/mg_vehicleManagement.html'
    })
  .state('vehicle.add', {
        url: "",
        templateUrl: 'views/br_manager/mg_addVehicle.html'
    })
  .state('vehicle.edit', {
      url: "",
      templateUrl: 'views/br_manager/mg_editVehicle.html'
  })
   .state('vehicle.delete', {
        url: "",
        templateUrl: 'views/br_manager/mg_addVehicle.html'
    })

2 个答案:

答案 0 :(得分:0)

尝试在您的州使用resolve,这样您就可以指定首先需要完成ajax调用才能显示视图。请尝试在docs中查找有关解决方案的更多信息。

答案 1 :(得分:0)

这个答案可能更适合作为评论,但我还不能这样做。

您是否添加了ng-cloak css类才能使用? 请检查:https://docs.angularjs.org/api/ng/directive/ngCloak

您是否在每次点击时提出多个请求?我的递归效果并不好。

你能给出一个例子或小提琴,以便我们看到代码吗?