我有一个看起来像这样的ng-repeat:
<div class="name" ng-hide="name.hide" ng-repeat="name in nameArray" ng-click="checkName(name)">
当点击其中一个ng-repeat元素时,我需要隐藏它,所以,在我的控制器中,我这样做:
$scope.checkName = function(name){
name.hide = true;
}
一切正常但我需要找出一种方法,在用户离开此视图后再次显示所有隐藏的ng-repeat项目,然后从另一个视图返回。
有什么想法吗?
答案 0 :(得分:1)
如果您的数据确实存在于服务中(这就是为什么它保持活动,因为服务是单例并且在您在路由之间导航时不会被破坏),那么您可以在隐藏属性时执行某种重置。你离开了你的视线。
将其放在您的控制器代码中:
$scope.$on('$destroy', function () {
angular.forEach(nameArray, function (item) {
item.hide = false;
});
});
答案 1 :(得分:0)
您可以尝试将所有隐藏名称存储在服务中,并在每次视图使用控制器时在控制器中进行查找。