Jestem zdezorientowany w następującym scenariuszu. Powiedzmy, że mam tabelę z wierszami. Gdy użytkownik kliknie przycisk w tabeli, chcę, aby formularz użytkownika zsunął się z jQuery i wyświetli formularz z wybranymi wartościami wiersza. Oto co mam aktualnie robi, że nie za bardzo sensu:Jak używać dyrektywy do przełączania animacji slajdów na elemencie z kontrolera?
Zobacz
<tr ng-click="setItemToEdit(item)" slide-down-form>
...
<form>
<input type="test" ng-model={{itemToEdit.Property1}} >
<button ng-click=saveEditedItem(item)" slide-up-form>
<form>
Kontrola
$scope.itemToEdit = {};
$scope.setItemToEdit = function(item) {
$scope.itemToEdit = item;
});
$scope.saveEditedItem = function(item) {
myService.add(item);
$scope.itemToEdit = {};
}
dyrektywy - Przesuń w górę/w dół ślizgawką
var linker = function(scope, element, attrs) {
$(form).slideUp(); //or slide down
}
Wydaje dyrektywa mój i moja logika sterująca są zbyt odłączony. Na przykład, co się stanie, jeśli wystąpi błąd zapisu? Formularz jest już ukryty, ponieważ zdarzenie slideUp zostało zakończone. Najprawdopodobniej chciałbym zapobiec operacji slideUp w takim przypadku.
Używam AngularJS tylko przez około tydzień, więc jestem pewna, że czegoś mi brakuje.