私の理解では、AngularJS サービスはシングルトンに似ているため、一度だけインスタンス化されます。そのため、「isUserLoggedIn」などの保存に役立つはずです。しかし、私のアプリケーションでは、ページが読み込まれるたびにサービスが実行されているようです。これにより、値がリセットされるため、問題が発生します。
私は何を間違っていますか?
次のような index.html があります。
<body ng-app="MyApp">
<div class="container" ng-view=""></div>
</body>
私のサービスは次のようになります。
MyApp.service('sharedProperties', function () {
var isLoggedIn = false;
return {
getProperty: function () {
return isLoggedIn;
},
setProperty: function(value) {
isLoggedIn = value;
}
}
})
問題は、あるルート/ページから次のページに移動するたびに、このサービスが呼び出され続け、isLoggedIn を false に設定することです。
index.htmlがリロードされず、サービスが起動する可能性を改善するためにキャッシュを「強制」しようとしましたが、役に立ちませんでした。
何か案は?