На главной странице списка есть кнопка редактирования. Что открывает сведения об отредактированной строке.
Способ 1: Теперь, если я устанавливаю "ctrl.parent.q_details.client_location", он привязывается к родительскому контроллеру листинга и работает как двусторонний привязка и автоматически изменяет значения, как в поле редактирования, что здесь не требуется.
Здесь я просто хочу отображать и разрешать редактировать значения в поле ввода. Не хочу меняться в родительском контроллере.
► Ниже приведен код в родительском контроллере для вызова mdDialog.
$mdDialog.show({
locals:{parent: $scope},
clickOutsideToClose: true,
controllerAs: 'ctrl',
templateUrl: 'quotation/edit/',//+edit_id,
controller: function () { this.parent = $scope; },
});
► Ниже приведен код всплывающего окна 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>
Способ 2: второй способ — отправить значение напрямую из БД без привязки к ng-модели контроллера диалога (deliverController).
]).controller("deliverController", ["$scope", "$filter","$http","$route","$window","$mdDialog",
function ($scope, $filter,$http,$route,$window,$mdDialog) {
$scope.qe.client_name = '12345'; // just to test.
}
Это дает ошибку undefine $scope.qe .
В итоге я не могу отправлять данные в mdDialogue, отображать их и разрешать редактировать их обычным способом. Пожалуйста, помогите мне любому опытному угловатому парню. Я новичок в угловом. Уже 2 дня пробую разные способы.
preserveScope: true
? - person Ellone   schedule 17.08.2015