Jestem całkiem nowy w Angular i dostosowuję prostą aplikację CRUD napisaną przy użyciu standardowych kontrolerów i ngResource, aby korzystać z komponentów wprowadzonych w wersji 1.5. Żaden z dokumentów i zasobów znalazłem do tej pory dyskusji, jak:Jak zaimplementować C w CRUD z AngularJS, komponentami i ngResource?
- utworzyć nowy element od podstaw
- zintegrować z ngResource
więc zastanawiam się, czy ktoś może dać pewne wskazówki, jak najlepiej postępować.
Moja istniejący aplikacja posiada prosty fabrykę uznającą podmiot zasobów i jeden kontroler, który
- tworzy nową instancję instancji zasobu:
$scope.newEntity = new Entity();
- zapełnia
$scope
z listą środków pobranych od backend:Entity.query(function (data) { $scope.entities = data; });
- zapewnia kilka funkcji do usuwania, aktualizowania i zapisywania zasobu do backendu.
W formularzu HTML mam formularz, który działa z $scope.newEntity
i metodą zapisu kontrolera, aby zapisać nowy obiekt do zaplecza. Mam także ng-repeat
, który zawiera listę wpisów zapisanych w $scope.entities
, z kilkoma dodatkowymi ng-click
s, aby wykonać pewne edytowanie i usuwanie.
To, co chcę teraz zrobić, to zaimplementować edycję w linii na liście. Wiem, że mogę to zrobić z moim istniejącym podejściem, ale chcę ponownie użyć funkcji sprawdzania poprawności formularza, którą mam w istniejącym formularzu tworzenia jednostki w kodzie edycji jednostki, bez powielania. Komponenty wydają się być naturalnie do tego dopasowane moim (wprawdzie niedoświadczonym) oczom.
z podejściem modułową I następnie dokumentację w https://docs.angularjs.org/guide/component pod przykładzie drzewo składnika i utworzony składnik entity-list
i entity-detail
. Te prace są w porządku do tej pory i myślę, że mogę wymyślić, jak podłączyć zdarzenia on-delete
i on-update
. Czego nie mogę zrozumieć, to jak podejść do zdarzenia on-create
.
Czy powinienem używać całkowicie oddzielnego kontrolera z moim istniejącym prostym formularzem do obsługi zdarzenia tworzenia? Jeśli tak, jak mogę zaktualizować istniejącą listę automatycznie? Czy to zdarzenie tworzenia zostanie przeniesione do kontrolera listy?
Czy brakuje czegoś w istniejącym kontrolerze list? Czy tworzenie encji jest specjalnym przypadkiem dla kontrolera szczegółu?
Szukam informacji o tym, jak zaimplementować to za pomocą komponentów Angular i ngResource, ponieważ chciałbym również być gotowy na Angular 2. O ile komponenty i zasoby nie są przeznaczone do współpracy, proszę nie publikuj odpowiedzi na temat tego, jak to osiągnąć, stosując zupełnie inne podejście lub jak ponownie użyć kodu HTML bez komponentów. Dzięki!
Dziękuję za odpowiedź, ale obawiam się, że to mi nie pomoże. Być może odniosłem się zbytnio do przykładowych dokumentów. Jak już wspomniałem, szukam sposobu, aby to elegancko zintegrować z 'ngResource' i stworzyć jednostki poprzez formularz na liście encji. W mojej istniejącej konfiguracji mogę łączyć pola w moim '$ scope.newEntity', aby utworzyć pola za pomocą atrs' ng-model'. 'Ng-submit' attr wywołuje metodę na moim kontrolerze list i tworzy nową encję, używając wartości zapisanych w' $ scope.newEntity'. To, czego naprawdę potrzebuję, to wywołanie tej metody "on-create" przy użyciu formularza i powiązanie z nowym obiektem. –
@WillHarris Widzę. Przepraszam, Will, kiedy będę mieć czas, z pewnością wrócę do tego pytania. Do tego czasu mam nadzieję, że uda ci się to rozwiązać. – zatziky