技術

【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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

[ Ionic ] A problem occurred evaluating project ‘:app’. > Failed to apply plugin [class ‘com.google.gms.googleservices.GoogleServicesPlugin’] > For input string: “+”

こんにちは。たなかです。 相変わらずモバイルアプリ開発やっています。 先日、Io …

[ Ionic ] アプリの画面向きを指定する方法

こんにちは。たなかです。 Ionicフレームワークでモバイルアプリ開発しています …

no image

[Rails]Deviceのfacebook認証でinvalid_credentials….

こんばんは Deviceでfacebook認証機能を作っていたらinvalid_ …

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

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

no image

【AWS】nginx/rails/mysqlをインストール

どうも、中田です。 最近AWSにテストサーバを立ち上げて検証したり、 お客様に一 …