gpt4 book ai didi

javascript - 将数据传递给 mdDialog

转载 作者:IT王子 更新时间:2023-10-29 02:57:14 27 4
gpt4 key购买 nike


主列表页面有编辑按钮。这会打开已编辑行的详细信息。
Way-1:现在,如果我设置“ctrl.parent.q_details.client_location”,它会与父列表 Controller 绑定(bind),它作为双向绑定(bind)工作,并自动更改编辑框中的值变化,这不是这里的要求。
这里只是我想在输入框中显示并允许编辑值。不想在父 Controller 中更改。

► 以下是父 Controller 调用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:第二种方式是直接从数据库发送值,而不绑定(bind)到 Dialog Controller (deliverController) 的 ng-model。

]).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 并显示它们并允许以正常方式编辑它们。请任何有经验的 Angular 人帮助我。我是 Angular 新手。自 2 天以来,我一直在尝试不同的方式。

最佳答案

这家伙总是有正确答案:https://github.com/angular/material/issues/455#issuecomment-59889129

简而言之:

$mdDialog.show({
locals:{dataToPass: $scope.parentScopeData},
clickOutsideToClose: true,
controllerAs: 'ctrl',
templateUrl: 'quotation/edit/',//+edit_id,
controller: mdDialogCtrl,
});

var mdDialogCtrl = function ($scope, dataToPass) {
$scope.mdDialogData = dataToPass
}

使用传递对象中的 locals 属性传递变量。这些值将注入(inject) Controller 而不是$scope。同时传递父级的整个 $scope 可能不是一个好主意,因为它破坏了隔离范围范例。

关于javascript - 将数据传递给 mdDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31240772/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com