Was ist der Unterschied zwischen "Entlassen" eines Modals und "Schließen" eines Modals?
close(result) - a method that can be used to close a modal, passing a result
dismiss(reason) - a method that can be used to dismiss a modal, passing a reason
Antworten:
Die Antwort finden Sie in der Dokumentation direkt nach den beiden von Ihnen zitierten Zeilen:
Die open-Methode gibt eine modale Instanz zurück, ein Objekt mit den folgenden Eigenschaften:
- close (Ergebnis) - Eine Methode, mit der ein Modal geschlossen und ein Ergebnis übergeben werden kann
- entlassen (Grund) - eine Methode, mit der ein Modal entlassen werden kann, wobei ein Grund übergeben wird
- Ergebnis - ein Versprechen, das gelöst wird, wenn ein Modal geschlossen wird, und abgelehnt wird, wenn ein Modal entlassen wird
Das Wichtigste dabei ist, was mit dem Versprechen passiert. Zum Abschluss ist das Versprechen gelöst - im Wesentlichen wird der Rückruf "Erfolg" ausgelöst. Bei der Entlassung wird das Versprechen abgelehnt, weshalb stattdessen der Rückruf "Fehler" ausgeführt wird.
Ich fand, dass das Löschen eines Modals am besten zu verwenden ist, wenn es von einem Benutzer stammt, der das Modal schließt (z. B. in den Zustand hinter dem Modal zurückkehrt und state.go aufruft ('^')), und das Schließen des Modals verwendet wird beim Ändern des Status über $ state.go oder ui-sref.
Auf diese Weise können Sie das result
Versprechen nutzen, um verschiedene Dinge zu tun, je nachdem, was passiert.
result.then(function() { /* state change via ui-sref */ })
result.catch(function() { /* user closed modal */ })
ui-router
Bibliothek verwendet, was nicht immer der Fall ist (und die Frage auch nicht enthält).