Haupteintragsseite hat Bearbeitungsschaltfläche. Welche Details der bearbeiteten Zeile öffnet.
Way-1: Nun, wenn ich "ctrl.parent.q_details.client_location" festlegen, ist es Bindung mit übergeordneten Auflistungscontroller und es funktioniert als 2-Wege-Bindung und ändert automatisch die Werte wie im Bearbeitungsfeld Änderungen, die ist hier nicht erforderlich.
Hier möchte ich nur Werte in Eingabefeld anzeigen und zulassen. Ich möchte nicht im übergeordneten Controller geändert werden.
Übergeben von Daten an mdDialog
► Im Anschluss wird der Code in geordneten Controller mdDialog nennen
$mdDialog.show({
locals:{parent: $scope},
clickOutsideToClose: true,
controllerAs: 'ctrl',
templateUrl: 'quotation/edit/',//+edit_id,
controller: function() { this.parent = $scope; },
});
► Code des Popup mdDialog folgt.
<md-dialog aria-label="">
<div ng-app="inputBasicDemo" ng-controller="deliverController" layout="column">
<form name="" class="internal_note_cont">
<md-content class="md-padding">
<md-input-container class="md-input-has-value" flex>
<label>Client Name</label>
<input ng-model="qe.client_name" required >
</md-input-container>
<md-input-container flex>
<label>Client Location</label>
<input required ng-model="ctrl.parent.q_details.client_location">
</md-input-container>
</md-content>
</form>
<div>
</div>
</div>
<input type="" required ng-model="ctrl.parent.q_details.recid">
</md-dialog>
WAY2: zweite Möglichkeit, den Wert direkt aus DB sendet, ohne die Bindung an ng-Modell des Dialog-Controller (deliverController).
]).controller("deliverController", ["$scope", "$filter","$http","$route","$window","$mdDialog",
function ($scope, $filter,$http,$route,$window,$mdDialog) {
$scope.qe.client_name = '12345'; // just to test.
}
Dies wird geben Fehler von undefine $ scope.qe.
Also letztlich, ich bin nicht in der Lage, Daten an MDDialogue zu senden und sie anzuzeigen und bearbeiten sie wie üblich. Bitte jemand eckigen Kerl helfen mir helfen. Ich bin neu in eckigen. Ich versuche seit 2 Tagen verschiedene Wege.
Sie können ng-bind verwenden, um eine einmalige Bindung einzurichten. Sie könnten auch einen Dienst verwenden, um Daten zwischen dem übergeordneten und untergeordneten Element zu übertragen. – BobDoleForPresident
Haben Sie versucht mit 'preserveScope: true'? – Ellone