Javascript AngularJS获取单个模型记录,以便在Modal中编辑
这似乎应该很容易做到,但在谷歌搜索之后,我一直无法找到确切的答案。我是个新手,所以可能只是我不知道如何提出正确的问题 问题:我有一个表,正在使用Javascript AngularJS获取单个模型记录,以便在Modal中编辑,javascript,angularjs,twitter-bootstrap,Javascript,Angularjs,Twitter Bootstrap,这似乎应该很容易做到,但在谷歌搜索之后,我一直无法找到确切的答案。我是个新手,所以可能只是我不知道如何提出正确的问题 问题:我有一个表,正在使用ng repeat填充数据行。这很直截了当。但是,每行都有一个编辑按钮,按下该按钮时,将启动一个弹出窗口,可在其中编辑数据。因此,要对其进行编辑,弹出窗口的表单需要预先加载相应行的数据。当然,当点击弹出窗口的保存按钮时,页面模型应该被更新 简单地说,单击我想打开一个弹出窗口,其中包含一个表单,该表单预先填充了来自模型中一行的数据 我正在使用Twitter
ng repeat
填充数据行。这很直截了当。但是,每行都有一个编辑按钮,按下该按钮时,将启动一个弹出窗口,可在其中编辑数据。因此,要对其进行编辑,弹出窗口的表单需要预先加载相应行的数据。当然,当点击弹出窗口的保存按钮时,页面模型应该被更新
简单地说,单击我想打开一个弹出窗口,其中包含一个表单,该表单预先填充了来自模型中一行的数据
我正在使用Twitter引导的模式
我的HTML:
<table class="table table-condensed table-hover">
<thead>
<tr><th>Code</th><th>Name</th><th>Business Functions</th><th>Description</th><th>Retention Period</th><th>Examples</th><th></th></tr>
</thead>
<tbody>
<tr ng-repeat="record in InformationManagementRecords | filter:query">
<td>{{record.RecordNumber}}</td>
<td>{{record.ActivitiesCategoryName}}</td>
<td>{{record.BusinessFunction}}</td>
<td>{{record.ActivitiesCategoryDescription}}</td>
<td>{{record.OfficialRetention}}</td>
<td>{{record.TransactionExampleRecords}}</td>
<td class="driverButtonsColumn">
<div class="btn-group btn-group-xs">
<button type="button" class="btn btn-default btn-xs" title="Edit" ng-click="setModalData(record)" data-toggle="modal" data-target="#addEditModal"><span class=" glyphicon glyphicon-pencil"></span></button>
</div>
</td>
</tr>
</tbody>
</table>
我希望这是足够的信息
谢谢,
Aaron您需要像这样复制对象:
$scope.setModalData = function(record) {
$scope.record_to_edit = angular.copy(record);
}
创建了一个显示复制与克隆的小提琴示例:
将更容易使用用于引导的角度ui指令。很容易将数据传递给modalController,您可以选择与当前相同的记录方式,但在modalController中具有窗体范围,我可以使用AngularUI模式。我现在唯一的问题是获取我在模式中编辑的数据,以更新页面上的数据。AngularUI中提供的示例不是我想要的。示例是将数据发送回页面,但不更新页面的模型。嗯,我不太明白您在这里做什么。你能提供更多的信息吗?我想我不明白你为什么要做深度复制。为什么不直接使用“记录”本身呢?为了好玩,我把你的代码放在这里,就像你在这里一样,它并没有改变任何事情。我仍然有同样的问题。因此,这个答案可能是不完整的。好吧,你不必做深度复制,但是,如果你只是克隆对象,并且你做了更改并取消了更新,那么初始对象将应用不需要的更改。我在这里举了一个小提琴的例子:
$scope.setModalData = function(record) {
$scope.record_to_edit = angular.copy(record);
}