我有一个如下所示的列表:
Store 1
Section A
Section B
and so on...
Store 2
Section A
and so on...
所以我打开一个模态窗口来创建一个新商店。当我关上窗户时,我回到商店,到目前为止工作得很好!
<div ng-repeat="store in global.user.company2.store">
我需要将回调商店推送到$ scope.global.user.company2.store [?]
modalInstance.result.then(function (newStore) {
// How do I get the IndexOf value of store?
// This is one of the stores in the ng-repeat
$scope.global.user.company2.store[???].section.push(newStore)
}, function () {
$log.info('Modal dismissed at: ' + new Date());
});
我将所选商店发送到模式的方式是解决方法
$scope.createSection = function (size) {
var modalInstance = $modal.open({
templateUrl: 'createSection.html',
controller: 'SectionModal',
size: size,
resolve: {
items: function () {
// $scope.radio.model === store
// $scope.radio.model2 === section
return $scope.radio;
}
}
});
更新:这是一个基本的掠夺者http://plnkr.co/edit/UGN4niAO9nQETqhg8lxn 收音机模型按钮不起作用。如果将解析项更改为$ scope.radio.model,则模式会中断。所以我原样离开了。我想也许它与btn-radio是angular-ui-bootstrap的一部分有关?
答案 0 :(得分:1)
解析模态时,将返回的对象与对象的数组索引对齐 例如:
$modalInstance.close({ radio: $scope.radio, index: $scope.items.indexOf($scope.radio) } );
然后,在解决你的模态承诺时,只需取消装箱你的对象:
modalInstance.result.then(function (selectedItem) {
$scope.selected = selectedItem.radio;
$scope.selectedIndex = selectedItem.index;
}, function () {});
有关详细信息,请参阅Angular-Bootstrap docs。