技術

【ionic】$ionicHistory.clearCache()が効かぬ!

投稿日:

どうも中田です。

 

ログアウトしたら、viewの情報を初期化したい!ですよね

 
 

よくあるログアウト後にログイン画面が表示されるアプリで
キャッシュクリアのコードを書いてたのですが、これが効かない。。。

 

今日はそんなお話です。

 
 

修正前

(略)

$ionicHistory.clearHistory();
$ionicHistory.clearCache();

(略)

 
これをやってもデバッグしたところ$ionicHistoryには、
各ナビゲーションのhistory情報が残ってました。。

 
いろいろ調査したところこれでした。
 

修正後

(略)

$timeout(function(){
  $ionicHistory.clearCache();
  $ionicHistory.clearHistory();
}, 500);

(略)

ポイント

  • clearCache -> clearHistory の順番で実施すること
  • $timeoutを使ってキャッシュクリアを非同期実行すること
     
    clearCacheでViewにdestroyフラグを立てて、clearHistoryで消す!
    非同期で実施!

 
ionicのバージョンが新しいとpromiseを返すので

$ionicHistory.clearCache().then(function(){
  ...
});

って書き方ができるみたいですがね。
 

感謝サイト
feat: Add a method to empty/flush Cached Views

-技術
-,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

[Xcode]Provisioning ProfileのUUIDを確認する方法

どうも田中です。 iOSアプリの審査に向けて作業している最中、buildエラーに …

[ionic] Error code 70 / requires a provisioning profile with the Push Notifications feature.

どうも中田です ionic使っててbuildで引っかかりましたー ionicでp …

Angularでビューのパラメーターを詳細まで見たいときのコード

こんにちはコーテッグのこやまです angularでviewのパラメーターがうまく …

[ Ionic ]キーボード出現時にフッターを押し上げてしまう問題の対応

こんにちは。たなかです。 IonicFrameworkでモバイルアプリを開発させ …

no image

【AWS】mysqldump&S3バックアップ。それは一瞬の出来事

こんにちは、中田です。 RDSでしっかりとバックアップ! とまでしなくていい場合 …