角度范围单身

时间:2016-02-04 14:39:37

标签: javascript angularjs angular-ui-router singleton angular-promise

我有这个控制器:

class Ctrl{
  constructor($http, $scope, $stateParams){
    if(!$scope.items){
      $http.get(...).then((res)=> {
        $scope.items = res.data;
      });
    }

    if($stateParams.id){
        $scope.currItem = $scope.items[$statePrams.id];
    }
}

我有两种状态:

.state('dashboard.items', {
    url: '/items',
    templateUrl: 'items.html',
    controller:'Ctrl'
})
.state('dashboard.items.details', {
    url: '/:id',
    templateUrl: '/ItemDetails.html',
    controller: 'Ctrl'
})

我希望确保items数组在我显示其中一个的详细信息之前已经初始化。

如果没有代码重复,怎么可能? (如果是其他内容和相同的代码)

感谢。

1 个答案:

答案 0 :(得分:0)

您可以在父级别使用州resolve(这是您问题的准确答案)

或者只是使用服务并在那里进行初始化。服务是单身人士。