Normalerweise könnte man einen Dialog mit Angular Material
wie folgt zeigen:
$mdDialog.show({
controller: FooCtrl,
templateUrl: 'app/foo_modal.html',
clickOutsideToClose: true
});
ich stattdessen ein component in der Inline-template
Option verwenden möchte. Wenn ich das versuche, wird der Bildschirm abgeblendet, aber die Ansicht der Komponente ist nicht sichtbar.
Es scheint, als ob die Komponente auth-modal
nicht gerendert wird.
<div class="md-dialog-container ng-scope" tabindex="-1" style="top: 0px; height: 371px;">
<div class="md-dialog-focus-trap" tabindex="0"></div>
<md-dialog role="dialog" tabindex="-1" id="dialogContent_3" aria-describedby="dialogContent_3" class="md-transition-in">
<auth-modal></auth-modal>
</md-dialog>
<div class="md-dialog-focus-trap" tabindex="0"></div>
</div>
Mit Ihrem Beispiel übergeben Sie noch eine Steuerung. Es wäre ideal, eine Komponente woanders zu erstellen, die ihren eigenen Controller hat und diese Komponente dann nur als Vorlage des Dialogs darstellt. Ist das sinnvoll? – theblang
Wenn Sie eine 'directive' verwenden, können Sie den closeDialog-Handler dorthin setzen, aber' $ mdDialog.show() 'scheint zu erfordern, dass der Controller die Benutzerliste in den Template-Bereich legt, wie dies http: // plnkr. co/edit/VjcmyDDmG9QSwv1zO5gA? p = Vorschau – C14L