Угловой выбор помнить при перемещении по представлениям

0

Я хочу, чтобы мой выбор в выборе оставался выбранным, когда я перебираю виды и возвращаюсь назад.

Вот вид:

<select ng-model="getseason" class="form-control" ng-options="season  as 'Season '+ season + '/' + seasonaddone(season) for season in seasons">

Вот контроллер:

$scope.seasons = [2014,2013,2012,2011,2010,2009,2008,2007,2006,2005];

$scope.getseason = $scope.seasons[0];

$scope.$watch('getseason',function(){

    var url = 'http://api.football-data.org/alpha/soccerseasons/?season=' +   $scope.getseason;

    apiDataService.GetData(url).then( function( data) { 

        $scope.leagues =  data;

    });

});

Я знаю, когда возвращаюсь с другого вида, этот контроллер снова загружается и устанавливает значение в season[0].

Теги:
angularjs-directive

1 ответ

1
Лучший ответ

Создайте службу и сохраните это значение. Каждый сервис устанавливается только один раз для нагрузки приложения, поэтому, если вы храните там значение, оно не исчезнет после изменения маршрута. Btw. это также может быть хорошим местом для хранения вашей модели (например, массива сезонов). Пример реализации:

app.controller('MyController', function ($scope, seasonHelper) {

    $scope.getseason = seasonHelper.getseason;
    $scope.$watch('getseason', function(){
         seasonHelper.getseason = $scope.getseason;
         ...
    });

})
.service('seasonHelper', function () {

    this.seasons = [2014,2013,2012,2011,2010,2009,2008,2007,2006,2005];
    this.getseason = this.seasons[0];

});
  • 0
    TNX, я решил проблему со службами ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню