2017-02-05 1 views
-2

イムで案内してください..イム - 角度変数を持つサービスと私のapp.jsを使用して、いくつかのソリューション

app.service('sessionService', function() { 
    var users = [ 
    name: ' ', 
    age: ' ', 
    gender: M, 
    marStatus: single 
    ]; 
}); 

のように見える私はログアウトオプションを持って、私の変数のユーザーにをリセットする方法デフォルトのオプション?

+0

デザインに問題があるように見えます。これは、サービスでモデルを変更しようとしているためです。これはお勧めできませんので、サービスからコントローラにデータを取得してそこに値を設定してみてください。 –

答えて

0

サーバーのアクションをhttpコールしてサービスを作成する必要があります。応答は常に正しい方法でデータを設定します。

var app = angular.module('myApp', []); 

app.service('getUserDetailsService', ['$http', function($http) { 
    this.getDetails = function() { 
    var details = {name:'',age:'',gender:'M'} 
     $http.get('Your action url') 
     .success(function(data) { 
      details.name = data.name; 
      details.age = data.age; 
      details.gender = data.gender; 
     }) 
     .error(function() { 
      //handle error 
     }); 
     return details; 
    }; 

}]); 

//Controller 
app.controller("userController",function($scope,getUserDetailsService){ 

$scope.getDetails = function() { 
getUserDetailsService.getDetails().then(function(detail) { 
      $scope.details = detail; 

     }, function(error) { 

     }); 
     } 

     $scope.getDetails() //Call whenever you want 
}); 

フィドルリンク - https://jsfiddle.net/ftzyyt0L/3/

+0

あなたの応答N.K ..ありがとう私がサービスのために行った理由はあまりにもコントローラを介してアクセスする必要があるいくつかのデータを保持しています。サービス変数 'details'はほとんどのコントローラによって更新されます。私の詳細変数には、私のすべてのコントローラが必要とする多くのフィールドが含まれています。ログアウト時に、私は自分の詳細変数をデフォルト値にリセットするオプションを試しています –

関連する問題