0

私の理解では、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がリロードされず、サービスが起動する可能性を改善するためにキャッシュを「強制」しようとしましたが、役に立ちませんでした。

何か案は?

4

3 に答える 3

0

代わりに CacheFactory を使用してください。

于 2013-08-13T07:19:04.883 に答える