La pagina di elenco principale ha il pulsante di modifica. Che apre i dettagli della riga modificata.
Way-1: Ora, se si imposta "ctrl.parent.q_details.client_location" è associato al controller di elenco padre e funziona come binding a 2 vie e modifica automaticamente i valori come nelle modifiche della casella di modifica, che non è richiesto qui
Qui voglio solo visualizzare e consentire i valori di modifica in inputbox. Non voglio essere cambiato nel controller principale.
Passare i dati a mdDialog
► In seguito è il codice di controllo genitori per chiamare mdDialog
$mdDialog.show({
locals:{parent: $scope},
clickOutsideToClose: true,
controllerAs: 'ctrl',
templateUrl: 'quotation/edit/',//+edit_id,
controller: function() { this.parent = $scope; },
});
► In seguito è il codice del popup mdDialog.
<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: secondo modo trasmette il valore direttamente dal DB senza legarsi a ng-modello del controller di dialogo (deliverController).
]).controller("deliverController", ["$scope", "$filter","$http","$route","$window","$mdDialog",
function ($scope, $filter,$http,$route,$window,$mdDialog) {
$scope.qe.client_name = '12345'; // just to test.
}
Questo sta dando errore undefine $ scope.qe.
Quindi, alla fine, non sono in grado di inviare dati a mdDialogue e visualizzarli e consentire di modificarli come di consueto. Per favore, chiunque abbia esperienza di un ragazzo angoloso aiutami. Sono nuovo di angolare. Sto provando diversi modi da 2 giorni.
È possibile utilizzare ng-bind per impostare un bind di una volta. Potresti anche un servizio per passare i dati tra genitore e figlio. – BobDoleForPresident
Hai provato con 'preserveScope: true'? – Ellone