角示波器单例

Angular scope singleton

本文关键字:单例 示波器      更新时间:2023-09-26

我有这个控制器:

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

我有 2 种状态:

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

我想确保在显示其中一个的详细信息之前,项目数组已经初始化。

没有代码复制怎么可能?(如果其他和每个内部相同的代码)

谢谢。

您可以在父级别使用状态解析(这是您问题的确切答案)

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