gpt4 book ai didi

javascript - AngularJS:将从模式返回的数据绑定(bind)到单击它的行

转载 作者:行者123 更新时间:2023-12-02 23:43:38 24 4
gpt4 key购买 nike

这里使用 AngularJS。

我正在开发一个带有下拉菜单的用户界面。根据用户的选择,我向用户显示 2 个选项卡。

每个选项卡数据都是从仅返回数据数组(字符串)的服务返回的。

针对返回的每个字符串值,我显示一个按钮。当您单击该按钮时,它会打开一个模式弹出窗口,用户可以在其中选择一些数据。当他们关闭模式时,我将数据返回给 Controller 。

将数据绑定(bind)到选项卡、打开模式并从模式返回数据的正常流程都工作正常。

我无法理解或设计的是如何将返回的数据绑定(bind)到单击它的按钮或行

例如如下:

Tab1

String1 - Button1

String2 - Button2

String3 - Button3

如果我通过单击button1打开模态框,我如何找出button1被按下并绑定(bind)回从其模态框返回的数据。

部分相关代码如下:

<div id="params" ng-if="type.selected">
<tabset class="tabbable-line">
<tab heading="Sets" ng-if="sets" active="tab.set">
<div class="form-group m-grid-col-md-8 param" style="margin-top:5px"
ng-repeat="set in sets" >
<label class="control-label col-md-3 param-label">{{set}}
</label>
<button ng-click="openModal()" class="btn btn-info btn-sm">
Select
</button>
</div>
</tab>
<tab heading="Tables" ng-if="tables" active="tab.table">
<div class="form-group m-grid-col-md-8 param"
ng-repeat="table in tables">
<label class="control-label col-md-3 param-label">{{table}}
</label>
<button ng-click="openModal()" class="btn btn-info btn-sm">
Select
</button>
</div>
</tab>
</tabset>
</div>

Controller :

  $scope.onChangeType = function (selectedValue) {           
$scope.getData(selectedValue);
};

$scope.getData = function (selectedValue) {
//Commenting out the service part for now and hardcoding array
// service.getData(selectedValue).then(function (res) {
$scope.sets = ['Set1', 'Set2', 'Set3'];
$scope.tables = ['Table1', 'Table2'];
// });
};


$scope.openModal = function () {
myFactory.defineModal().then(function (response) {
//how to bind data from response
});
};

我为此示例创建了一个 plnkr,如下所示: http://plnkr.co/edit/vqtQsJP1dqGnRA6s?preview

--已编辑--

 <div class="form-group m-grid-col-md-8 param" ng-repeat="table in tables">
<label class="control-label col-md-3 param-label">{{table}}
</label>
<button ng-click="openModal(table)" class="btn btn-info btn-sm">
Select
</button>
<span>
{{table.utype}}
</span>
</div>

最佳答案

table 对象作为参数传递给 openModal 函数:

<button ng-click="openModal(table)">Select</button>

openModal函数中使用它:

$scope.openModal = function (table) {
myFactory.defineModal().then(function (result) {
table.utype = result.utype;
table.minvalue = result.minvalue;
});
};

请务必关闭带有结果的模式:

$scope.ok = function () {
var result = {
utype: $scope.utype,
minvalue: $scope.minvalue,
};
$modalInstance.close(result);
};

请记住,模式被认为是破坏性的,并且受到用户的鄙视。

一般来说,干扰和分心会对人类表现产生负面影响,这是认知心理学的常见发现。许多研究表明,分心会大大增加执行各种任务的时间。

欲了解更多信息,请参阅

<小时/>

While I dont get any error not but I dont get the text returned.

请务必向 ng-repeat 提供对象:

  $scope.getData = function (selectedValue) {
//Commenting out the service part for now and hardcoding array
// service.getData(selectedValue).then(function (res) {
̶$̶s̶c̶o̶p̶e̶.̶t̶a̶b̶l̶e̶s̶ ̶=̶ ̶[̶'̶T̶a̶b̶l̶e̶1̶'̶,̶'̶T̶a̶b̶l̶e̶2̶'̶]̶;̶
$scope.tables = [
{name:'Table1',},
{name:'Table2',},
];
// });
};

DEMO on PLNKR

关于javascript - AngularJS:将从模式返回的数据绑定(bind)到单击它的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55954863/

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