Javascript 角度范围单态
我有一个控制器:Javascript 角度范围单态,javascript,angularjs,angular-ui-router,singleton,angular-promise,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[$statePra
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'
})
在显示其中一个项目的详细信息之前,我希望确保项目数组已经初始化
没有代码复制怎么可能呢?(如果为else,每个内部的代码相同)
谢谢。您可以在家长级别使用state(这就是您问题的确切答案)
或者直接使用服务并在那里进行初始化。服务是单身 使用
.state
对象文本中的resolve
方法延迟我使用resolve尝试的控制器的实例化,但是加载列表页需要很长时间。我想显示列表页面,异步加载列表,然后加载下一个状态。我已经这样做了。问题是,现在我的列表页面将仅在列表初始化后加载。我想加载列表页面,然后加载列表项。无论如何,如果我要为子控制器使用另一个控制器,有一种方法可以从子控制器访问父控制器?查看第二个选项在angular ui route中有一种方法可以访问父控制器?(不包括我的ES6案例中的范围)