我全面搜索,似乎我无法得到一个明确的简单答案。 基本上我遇到搜索/过滤字段的问题,用户输入文本并过滤该页面。过滤器适用于每一页。
现在,当他们按下任何导航项时,它会清除搜索文本/模型值。我必须为此手动触发onclick事件并创建一个函数。
我的问题是,当用户按下浏览器的“后退按钮”时,输入文字没有被清除。
是否有任何简单的事件:
if(usersPressedBackButton){
//Do stuff
}
答案 0 :(得分:0)
将此代码添加到您的控制器中:
$scope.$on('$locationChangeStart', function(event, next, current) {
if ($scope.yourinputfield.$dirty) {
$scope.yourinputfield = "";
$scope.yourinputfield.$setPristine();
}
});
答案 1 :(得分:0)
没有人可以就此提供明确的答案,所以我创建了自己的答案。
我创建了一个布尔值,用于检测用户从另一个页面搜索的内容。
家长控制器:
$scope.searchFilterText = '';
$scope.fromSearchClick = false;
$scope.$on('$locationChangeStart', function()
{
if(!$scope.fromSearchClick){
$scope.clearFilterSearchText();
}
$scope.fromSearchClick = false;
});
儿童控制器 - 或者您不希望清除搜索的页面。
//In any function
$scope.$parent.fromSearchClick = true;