我已經全面搜索,似乎我無法得到明確的簡單答案。 基本上我遇到了搜索/過濾器字段的問題,用戶輸入文本並過濾該頁面。該過濾器適用於每個頁面。AngularJS當用戶按下後退按鈕
現在,當他們按下任何導航項時,它將清除搜索文本/模型值。我不得不爲此手動觸發onclick事件並創建一個函數。
我的問題是,當用戶按下瀏覽器的「後退按鈕」輸入文本沒有得到清除。
是否有像任何簡單事件:
if(usersPressedBackButton){
//Do stuff
}
我已經全面搜索,似乎我無法得到明確的簡單答案。 基本上我遇到了搜索/過濾器字段的問題,用戶輸入文本並過濾該頁面。該過濾器適用於每個頁面。AngularJS當用戶按下後退按鈕
現在,當他們按下任何導航項時,它將清除搜索文本/模型值。我不得不爲此手動觸發onclick事件並創建一個函數。
我的問題是,當用戶按下瀏覽器的「後退按鈕」輸入文本沒有得到清除。
是否有像任何簡單事件:
if(usersPressedBackButton){
//Do stuff
}
沒有人能提供這方面的一個明確的答案,所以我創造了我自己。
我有一個創建一個布爾值,當用戶從另一個頁面搜索時檢測到。
父控制器:
$scope.searchFilterText = '';
$scope.fromSearchClick = false;
$scope.$on('$locationChangeStart', function()
{
if(!$scope.fromSearchClick){
$scope.clearFilterSearchText();
}
$scope.fromSearchClick = false;
});
兒童控制器 - 或頁面你不/不希望搜索被清除。
//In any function
$scope.$parent.fromSearchClick = true;
這段代碼添加到您的控制器:
$scope.$on('$locationChangeStart', function(event, next, current) {
if ($scope.yourinputfield.$dirty) {
$scope.yourinputfield = "";
$scope.yourinputfield.$setPristine();
}
});
不起作用。搜索模式/字段仍包含文本。 – 2014-10-29 01:32:30