主列表頁面具有編輯按鈕。其中打開編輯行的詳細信息。
Way-1:現在,如果我設置了「ctrl.parent.q_details.client_location」,它將與父級列表控制器綁定,並且它作爲雙向綁定工具並自動更改值,如同在編輯框更改中那樣這裏沒有要求。
這裏只是我想要顯示並允許在inputbox中編輯值。不想在父控制器中更改。
將數據傳遞給mdDialog
►以下是在父控制器的代碼來調用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>
Way2:秒方式直接從DB發送的值而不結合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.
}
這是給取消定義$ scope.qe的錯誤。
因此,最終,我無法將數據發送到mdDialogue並顯示它們,並允許以正常方式編輯它們。 請任何人有經驗的角人幫助我。我對角度很陌生。 自2天以來,我嘗試了不同的方法。
您可以使用ng-bind設置一次性綁定。您也可以通過服務在父母和孩子之間傳遞數據。 – BobDoleForPresident
你嘗試過'preserveScope:true'嗎? – Ellone