将IIFE的原始值存储在Angular中的监视功能(重置过滤器)中
Storing original values for IIFEs in watch function (reset filters) in Angular
我有一堆过滤器,我想写一个函数,这样在点击ng时,所有过滤器都会重置为原始值。然而,我所有的过滤器
例如,我有一个停止次数的过滤器,所有这些都很好。
$filter('stopsFilter')($scope.data)(stopsObject);
数据通过http请求获取。我对数据有一个$watch函数,当然可以根据数据更新视图。在watch函数中有stopsObject,因此我也会根据$scope.data更新它自己。由于stopsObject严格依赖于$scope.data的结构,因此没有适当的方法来预先定义stopsObject(期望将其设置为空)。
$scope.stopsObject = { //happens in the watch function of $scope.data
"allCars": $scope.selectall,
"allElements": $scope.checkedStops,
"singleElements": $scope.stopsPerLeg
};
$scope.stopsPerLEg和checkedStops也是watch函数中的IIFE。每当我更新allElements时,整个stopsObject都会更新。
但是要为我的所有过滤器写一个重置函数
$scope.allFilters = {
stopsObject:$scope.stopsObject,
};
$scope.resetFilter = function() {
$scope.stopsObject=$scope.allFilters.stopsObject;
};
这不起作用,因为stopsObject是不断更新的。如何将原始计算的$scope.stopsObject设置到我的allFilters对象中。我基本上需要在HTTP请求完成后立即计算的值。
有什么建议吗?
如果你只是做一个角度复制,比如
$scope.allFilters=angular.copy({...})
它工作得很好。
相关文章:
- 添加文字和评论功能更新Div
- JavaScript打印功能使日历停止工作
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 如何防止网页加载后自动启动功能
- 除修剪外的其他功能
- 悬停功能触发器
- 为什么我的d3.jsselectAll+过滤器没有过滤
- 将IIFE的原始值存储在Angular中的监视功能(重置过滤器)中
- EXT JS : 数据存储过滤器功能不起作用
- 过滤器角度下拉功能取决于您之前选择的内容
- 如何在 ng-repeat中更新过滤器功能
- 访问过滤器功能内的变量
- AngularJS:过滤器更换时的触发功能
- 过滤器编号范围功能问题
- 控制器性能比较中的自定义过滤器与过滤器功能
- Angularjs过滤器的功能
- 如何使用javascript过滤器功能
- 未定义带有自动完成功能的角过滤器
- 过滤器功能在使用 Angular.js.and PHP 时无法按预期工作
- 简单的jQuery过滤器功能不能正常工作