我有一个闪烁的问题 - 这不是AngularJS的问题,而是我认为我的架构。 这不是一个大问题,但如果我可以防止这种争吵就会很好。
我有一个stateProvider,如下所示:
controller: 'MyController',
controllerAs: 'vm',
resolve: {
myService: 'myService',
function(myService, $stateParams) {
myService.loadMyDataFromBackend('Parameters');
},
在此 stateProvider 中,数据通过服务加载,然后此服务(myService)保存后端数据。在我的视图中,我有 ng-repeat 从 myService 中获取此数据:
<tr my-directive-name my-data="vm.getMyDataOverDirectiveAndControllerFromMyService()"
我现在的问题如下:
- 我查看数据 - &gt;一切都很好
- 我离开了视图
- 我回到了观点: 3.1。旧数据被查看几毫秒 3.2从后端加载新数据并保存在myService中 3.3 ng-repeat选择新数据并显示
醇>
3.1和3.2导致闪烁。同样 ng-cloak 也不会阻止闪烁 - 我想ng-cloak会检查(旧)数据是否正常/加载 - 查看旧数据,然后接收并显示新数据 - &gt;在这种情况下,ng-cloak没有机会防止闪烁。
我现在的问题是,如果有可能在我的情况下防止这种闪烁吗?
非常感谢!
[编辑] 这是我的整个解析器,如果有人可以给我一个暗示,为了防止闪烁,我会感激不尽:
(function(){ 'use strict';
angular
.module('myproject.schedule')
.config(configure);
configure.$inject = ['$stateProvider'];
function configure($stateProvider) {
$stateProvider
.state(getXYState());
////////////
function (getXYState() {
var state = {
name: 'auth.name',
url: '/my/path',
templateUrl: 'app/myhtmlpath/myhtml.html',
controller: 'MyController',
controllerAs: 'vm',
resolve: {
myService: 'myService',
function(myService, $stateParams, $q) {
myService.getData('...');
}
}
}
return state;
};
};
})();