2017-01-05 16 views
2

私は2つのコントローラを持っています。最初の変数はサービスに変数を設定し、2番目の変数はこの変数を取得するはずですが、未定義です。 角度サービスはシングルトンではありませんか?私のサービスはコントローラごとにインスタンス化されているようです。ここで私のサービスのデータは私の角型コントローラ間で永続的ではありません

は私のコードです:私の第二のコントローラで

まずコントローラ

angular.module('myApp').controller('HomeCtrl', ['$scope', 'User', function ($scope, User) { 
    $scope.join = function() { 
     User.setRoom("test"); 
     console.log(User.getRoom()); // displays 'test' 
     $window.location.href = '/talk'; 
    } 
}]); 

、私はちょうど

console.log(User.getRoom()); // displays '' 

をきたし、ここで私のサービスは

です

アイデアはありますか?

答えて

1

移動するのに$window.location.href = '/talk';を使用しています。これにより、ページ全体がリロードされ、すべてのサービスも再初期化されます。

$ locationサービスを使用します。これら2つの違いの概要については、documentationおよび/またはthis answerを参照してください。

+1

ああ!どうもありがとう!それは今働きます! –

関連する問題