javascript - Angular 作用域单例

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

我有这个 Controller :

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'
})

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

没有代码复制怎么可能? (如果还有,每个里面都有相同的代码)

谢谢。

最佳答案

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

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

关于javascript - Angular 作用域单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35203923/

相关文章:

javascript - 无法获取 Angular 中对象的值

mysql - AngularJS + Ionic : Checking if new Entry in Database, 如果是:推送通知

javascript - 为什么我不能走子组件的路线?

javascript - 子状态不从父状态继承已解决的依赖关系

javascript - 在 AngularJS UI-Router 中动态更改 View

javascript - 如何通过添加新的指定选项来创建依赖的JS下拉列表?

javascript - 选择非空选项后默认选项消失

javascript - 错误: 'let' declarations can only be declared inside a block

javascript - C3图表点为空圆

javascript - 无法设法在对话框内的左侧 float 图像旁边设置文本