Additionally, for the sake of completeness, I want to mention you can try in the loop the following alternative call
1)calling after the setting an async apply
...
$scope.view.wdg['myCirlc']['vislble']=true;//false
$scope.$applyAsync();
2.) use the function $scope.setWidgetProp() instead of the widget prop notation e.g. :
//generall usage of the method
//$scope.setWidgetProp('label-3', 'text', "PREVIEW MODE");
//here in your context
$scope.hideCircles = function() {
for(var i=0; i< 13; i++){
//$scope.view.wdg[clipCircles[i]].visible = false;
$scope.setWidgetProp(clipCircles[i], 'visible', false);
}
}
3.) when the mentioned widget are modelItems widget - there could be an issue with some setting of sequence. This means using a sequence of the model will lock the properties so that it will not react on setting of the visibility properties. In tis case you can try additionally try to set the forceHidden property:
$scope.setWidgetProp(wdgName,'forceHidden', true);
$scope.setWidgetProp(wdgName,'visible', false);
$scope.$applyAsync();
// and my be it back- not required
$scope.setWidgetProp(wdgName,'forceHidden', false);
4.)as mentioned in point 3.) the issue could be cause by sequence / step as mentioned in the post: "Model Item colors are not showing up in View"
There the issue is the color display , but the reason is still the same. You can try to unset as mentioned there, the sequence property
antoher relevant post is this