我这样打电话给ng-click:
<div ng-repeat="(key,value) in filterdata">
<div ng-click="filter(key,value)">
{{key}} ::::::: {{value}}
</div>
</div>
我的Controller功能如下:
$scope.filter = function(key,value){
$location.search(key, value);
var filter = $location.url();
service.get(filter).success(function(data) {
$scope.applicationdata = data.data;
console.log($scope.applicationdata);
});
}
我的HTML文件有ng-repeat
,如下所示:
<div class="resultsa" ng-repeat="data in applicationdata">
{{data.name}}<hr>
<div ng-repeat="metadata in data.metadata">
{{metadata.name}} , {{metadata.pivot.value}}
<hr>
</div>
</div>
我第一次点击,我的服务功能被调用,我的模型被更新,但我的视图没有更新。当我第二次点击时,我的视图会正确更新。谁能告诉我为什么会这样呢?
答案 0 :(得分:1)
这是因为您在触发摘要cicle之后以及在不同的上下文中更改模型的值。要解决此问题,您需要在设置应用程序数据后调用$ scope。$ apply(),以触发另一个摘要周期。