2017-02-17 4 views
0

Я пытаюсь передать значение от одного контроллера к другому контроллеру. Оба контроллера находятся на одном модуле. Я попытался создать сервис. Проблема в том, что я могу передать значение для обслуживания с 1-го контроллера, но не смог получить это значение на 2-м контроллере. Любая помощь будет оценена по достоинству. дается на странице элементов.передать значение от контроллера другому контроллеру на другой странице - AngularJS

Контроллер 1(который находится на странице элементов):

itpApp.controller("itpAppControllerKB", function($scope, sharedProperties, $location) { 
$scope.showArticles = function(myValue) { 

     console.log('myValue: ' + myValue); 

     sharedProperties.setListName(myValue); 

     window.location.href = "/portal/articles"; 
    }; 

}); 

Контроллер 2 (который находится на странице статей):

itpApp.controller("itpAppControllerKBArticle", function($scope, sharedProperties) { 
$scope.article = sharedProperties.getListName(); 

console.log('selTopic: ' + $scope.article); 
} 

служба:

itpApp.service('sharedProperties', function() { 
    var list_name = ''; 
    return { 

     getListName: function() { 
      return list_name; 
     }, 
     setListName: function(name) { 
      list_name = name; 
     } 
    }; 
}); 
+0

Почему у вас есть статус возврата на обслуживание? Фабрика нужна, но не обслуживание. Это ваша ошибка – Gilsdav

+1

Does window.location.href = "/ portal/articles"; заставляет перезагружать вашу страницу? В случае потери всех ваших служебных данных ... – fubbe

+0

http://plnkr.co/edit/VEgt5v9VmeRPU4QIYArF?p=preview. Если я использую эту услугу по этой ссылке. Его работа, но я тоже получаю все предыдущие значения. – user3781360

ответ

1

Не используйте оператор возврата в своем сервисе. Вот пример:

itpApp.service('sharedProperties', function() { 
    this.list_name = ''; 

    this.getListName = function() { 
     return this.list_name; 
    }; 

    this.setListName = function(name) { 
     this.list_name = name; 
    }; 
}); 
+0

@op использовать это и местоположение, все должно быть хорошо. – fubbe

Смежные вопросы