2017-02-05 15 views
-2

Im используя угловое обслуживание с переменным и моим app.js выглядит ..,Im нового для angularjs - пожалуйста, руководство с некоторым раствором

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 
}); 

Fiddle ссылка - https://jsfiddle.net/ftzyyt0L/3/

+0

Спасибо за ваш ответ N.K .. причина, по которой я отправился на службу, слишком держит некоторые данные, к которым нужно получить доступ через контроллеры. информация об услугах «детали» будет обновляться большинством контроллеров. моя переменная details содержит много полей, необходимых всем моим контроллерам. При выходе из системы, я просто пытаюсь изменить параметр моей информации до значений по умолчанию –