我们构建了一个控制器,它可以保存我们app的所有$资源,以便从控制器轻松访问:
app.controller('ResourcesCtrl', ['$scope', '$resource', '$controller', function ($scope, $resource, $controller) {
$scope.Product = $resource(resources_url_global + '/products/:id.json', { id: '@id' }, default_actions);
var default_actions = {
'get': {
method: 'GET'
},
'create': {
method: 'POST'
},
'save': {
method: 'POST'
},
'update': {
method: 'PUT'
},
'update_all': {
method: 'PUT'
},
'query': {
method: 'GET',
isArray: true
},
'remove': {
method: 'DELETE'
},
'delete': {
method: 'DELETE'
}
};}]);
以及来自其他控制器的访问示例:
app.controller('ProductsManagementCtrl', ['$scope', '$controller', '$resource',
function ($scope, $controller, $resource) {
$controller('ResourcesCtrl', {$scope: $scope}); // inherit Parent Controller }]);
问题是我想从工厂使用ResourceCtrl,但我不知道如何从工厂调用它。
答案 0 :(得分:0)
您应该将其构建为service
,而不是controller
。
您可以将服务注入其他services
和其他controllers
。
如果您真的需要resource controller
,那么只需注入resource service
并创建包装。