2

Angularjs バージョン 1.3.15

$cookieStore.put を使用してページ "A" に Cookie を設定し、その Cookie を利用するためにユーザーを新しいページ "B" にリダイレクトしたいと考えています。私の質問は

ユーザーをAngularで定義された既知のルートにリダイレクトするにはどうすればよいですか

これは、私が見つけた唯一の方法です。

testControllers.controller('aController', ['$window', '$routeParams', '$cookieStore',
    function($window, $routeParams, $cookieStore) {
        $cookieStore.put('test', 1);

        if ($routeParams.bounce && $routeParams.bounce != '') {
            $window.location.href = '/#/' + $routeParams.bounce;
            $window.location.reload(true);
        } else {
            $window.location.href = '/#/';
            $window.location.reload(true);
        }
    }
]);

ただし、ページの読み込みが 2 倍になり、ひどいものになります。もっと良い方法があるはずです。

前もって感謝します

編集:

ページ「B」は、ディレクティブを利用する別のコントローラーを使用していますが、Chrome で [リソース] タブを表示しています。これは、Cookie がブラウザーにまだ表示されていないことを示しています。私がクッキーを表示しようとしているディレクティブ:

testControllers
    .controller('menuDirective', ['$scope', '$cookieStore',
        function($scope, $cookieStore) {
            $scope.loggedin = false;

            if ($cookieStore.get('loggedin')) {
                $scope.loggedin = true;
            }
        }
    ])
    .directive('mymenu', function() {
        return {
            templateUrl: 'app/shared/menu/menuView.html'
        }
    });
4

1 に答える 1