ビューを開くたびにWebサービスの複数のメソッドを呼び出す必要があるビューを開発しています。$scope.$on('$ionicView.enter', function(){...})
またはcache:false
を使用する必要がありますか?
それぞれの本当の違いは何ですか?
私はこのQ&Aを本当に楽しんだ:
Bipin Bhandari は、ionicキャッシングメカニズム)で使用できるオプションを適切に要約しています。
cache: false
_によるキャッシュを回避します。$ionicConfigProvider.views.maxCache(0)
でキャッシュを無効にします。したがって、キャッシュが設定されていると、コントローラーは1回だけ実行されます。
ビューは、パフォーマンスを向上させるためにキャッシュされます。ビューが離れてナビゲートされると、その要素はDOMに残され、そのスコープは$ watchサイクルから切断されます。すでにキャッシュされているビューに移動すると、そのスコープが再接続され、DOMに残っていた既存の要素が再びアクティブになります。
これらのイベントをフックすることができます...このコントローラーで「常に何か」を行うために
$ionicView.enter
は、選択したビューがアクティブ化されるたびにブロードキャストされるイベントです。
cache:false
は、ページがキャッシュされないため、毎回完全にリロードされることを意味します。
私は個人的にキャッシュfalseを使用しないようにしています。これはパフォーマンスが悪いためですが、コントローラーに戻ったときにコントローラーが再度初期化されないため、副作用があります。
代わりに、ビューに入ると、ユーザー$ionicView.enter
または$ionicView.afterEnter
ページのいくつかのアクションをトリガーして、読み込みを完全に完了します。