컨트롤러에서 Restangular를 사용하는 방법을 알고 있지만 내 생각에 Restangular는 본질적으로 스테로이드의 ORM입니다.AngularJS - 공장에서 Restangular가있는 REST API를 사용합니다.
ORM에는 응용 프로그램의 상태에 대한 지식이 없어야합니다. 그것이 컨트롤러의 일입니다.
또한 ORM에 대한 쿼리를 다시 사용하고자하므로 Restangular를 서비스 내부에서 사용해야한다고 생각합니다.
내 문제는 js/angularjs 및 restangular noob이며 프론트 엔드가 약 2-3 개월 밖에 걸리지 않는다는 것입니다.
내 컨트롤러 :
app.controller('AdminSupplierIndexController',
['$scope', '$stateParams', '$state', 'Supplier',
function ($scope, $stateParams, $state, Supplier) {
$state.reload();
Supplier.getAll.then(function (suppliers) {
$scope.suppliers = suppliers;
});
}]);
app.controller('AdminSupplierDetailController',
['$scope', '$stateParams', 'Supplier',
function ($scope, $stateParams, Supplier) {
Supplier.getOne({ supplierId : $stateParams.supplierID}).then(function(supplier) {
$scope.supplier = supplier;
});
}]);
내 공장
app.factory('Supplier', ['Restangular', function (Restangular) {
return {
getAll: Restangular.all('supplier').getList(),
getOne: Restangular.one('supplier', supplierId).get()
};
}]);
내 Supplier.getAll
방법은 잘 작동 - 나는 공급 업체 공장에서 모든 공급 업체를 나열 할 수 있습니다. 내 Supplier.getOne
방법에 문제가 있습니다.
질문 1 : supplierId를 공장에 어떻게 주입합니까? 내가 얻고있다 ReferenceError: supplierId is not defined
질문 2 : 이러한 방법이 이미 Restangular에서 제공되는 경우 모든 단일 공장에 대해 C-R-U-D에 대한 개별 방법을 만들어야한다는 것을 고려하여 과도한 엔지니어링을 시도하고 있습니까? 다음