我有一个复杂的应用程序,需要从服务器检索的数据更新视图。
首先,我在名为“EditController”的控制器中检索数据:
self.loadIndividualData = function(individual){
this.srchByID.classById().get({_id: individual.id_class},
function(res){
auxiliarVariables.instanceClass = angular.copy(res);
});}
我使用ngResource进行通话。变量“auxiliarVariables”是一种可以在不同控制器之间共享数据的服务。那么,我在另一个名为“individualController”的控制器中有以下代码:
self.instanceClass = auxiliarVariables.instanceClass;
最后,在视图中:
<ul class="list-group">
<li class="list-group-item class">
<span ng-repeat="classId in VIndividualCtrl.instanceClass.ids">
{{classId}}
</span>
</li>
</ul>
我发现的问题是当变量“instanceClass”发生变化时,视图不会刷新。因此,当检索加载视图的数据(它是模态)需要更长时间时,不显示变量。
如果我将“auxiliarVariables.instanceClass”发起到一个数组,然后我在get调用中使用方法push,那么它可以完美地工作。它看起来像是:
self.loadIndividualData = function(individual){
this.srchByID.classById().get({_id: individual.id_class},
function(res){
auxiliarVariables.instanceClass.push(res);
});
}
问题是我不希望这个变量是一个数组。还有其他解决方案吗?