解析路径中的资源
resolve resource in route
正在尝试将我解析的数据发送到我的控制器。事情解决得很好,只是不知道如何将它传递到我的控制器中。现在,当我尝试注销已解析的数据时,我得到了未定义的信息。
我的模块:
angular.module('projects').config(['$stateProvider',
function($stateProvider) {
$stateProvider
.state('view', {
url: '/:projectId',
templateUrl: 'view.html',
controller:'ProjectsClientController',
resolve:{
projectaa:function(apiResource, $stateParams){
apiResource.get({api_resource:'projects', api_value:$stateParams.projectId}).$promise.then(function(response){
return response;
});
}
}
})
}
])
angular.module('projects').controller('ProjectsClientController', ['$scope', '$stateParams', 'projectaa',
function($scope, $stateParams, projectaa) {
console.log(projectaa);
}
]);
我做错了什么?
它还应该 return apiResource.get
的承诺,这样承诺链 .then
函数就可以在控制器内部访问
代码
projectaa: function(apiResource, $stateParams) {
return apiResource.get({
api_resource: 'projects',
api_value: $stateParams.projectId
}).$promise;
}
在控制器内部,您可以通过使用 .then
解决该承诺来获取数据
控制器
projectaa.then(function(data){
console.log(data); //you will get promise resolved here
//which will return data here
})
正在尝试将我解析的数据发送到我的控制器。事情解决得很好,只是不知道如何将它传递到我的控制器中。现在,当我尝试注销已解析的数据时,我得到了未定义的信息。
我的模块:
angular.module('projects').config(['$stateProvider',
function($stateProvider) {
$stateProvider
.state('view', {
url: '/:projectId',
templateUrl: 'view.html',
controller:'ProjectsClientController',
resolve:{
projectaa:function(apiResource, $stateParams){
apiResource.get({api_resource:'projects', api_value:$stateParams.projectId}).$promise.then(function(response){
return response;
});
}
}
})
}
])
angular.module('projects').controller('ProjectsClientController', ['$scope', '$stateParams', 'projectaa',
function($scope, $stateParams, projectaa) {
console.log(projectaa);
}
]);
我做错了什么?
它还应该 return apiResource.get
的承诺,这样承诺链 .then
函数就可以在控制器内部访问
代码
projectaa: function(apiResource, $stateParams) {
return apiResource.get({
api_resource: 'projects',
api_value: $stateParams.projectId
}).$promise;
}
在控制器内部,您可以通过使用 .then
控制器
projectaa.then(function(data){
console.log(data); //you will get promise resolved here
//which will return data here
})