角度选择在视图中移动时记住

Angular select remember when move through views

本文关键字:移动 视图 选择      更新时间:2023-09-26

当我在视图中移动并返回时,我希望选择中的选项保持选中状态。

以下是视图:

<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]

创建一个服务并将该值存储在那里每个服务在每次应用程序加载时只安装一次,因此如果您在其中存储一个值,则在路由更改后它不会消失。顺便说一句,这也是存放你的模型(即季节阵列)的好地方。示例实现:

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