Nie szukaj kontrolerów w kategoriach "operacji" takich jak CRUD, w tym przypadku yu "rozmawiają z restrykcyjnym API", ponieważ spokojne usługi używa czasowników HTTP mapować operacje CRUD, jak:
PUT, POST -> Create
GET -> Read
POST -> Update
DELETE -> Delete
dobrą praktyką jest stworzenie usługi kątowych i powrócić dolarów zasób do późniejszego użycia, mapować $ zasób do końcowych CRUD tak:
angular.module('app').factory('Users', ['$resource',
function($resource) {
return $resource('users', {}, {
update: {
method: 'PUT'
},
deleteMember: {
method: 'DELETE',
url:'team/member/:userId/:teamId'
},
addMember: {
method: 'POST',
url:'team/member'
},
addTeam: {
method: 'POST',
url:'team'
},
deleteTeam: {
method: 'DELETE',
url: 'team/:teamId'
},
getTeam: {
method: 'GET',
url: 'team/:teamId'
},
teams: {
method: 'GET',
url: 'team/list/:orgId'
}
});
}
]);
możesz ponownie używaj tej usługi i wstrzykuj ją w jakiejkolwiek innej usłudze lub kontrolerze, tym lepiej im szczuplejsze sterowniki.
w przypadku, gdy chcesz zmodyfikować interfejs użytkownika, ponieważ kątowy jest deklaratywny i nie jest konieczne, aby zmienić domenę od kontrolerów, musisz utworzyć dyrektywy, aby ponownie dyrektywy mogły zostać ponownie użyte w całym systemie.
Trzymajcie się smukłych kontrolerów, twórzcie usługi i dyrektywy i dobrze jest iść, a na koniec polecam używać yeomana jako workflow i używać generatora cg-angular, implementuje on "najlepsze praktyki" dla wielu rzeczy, w tym folderu aplikacji struktura, która jest bardzo ważna, aby od samego początku była odpowiednia.