使用Angular - UI Bootstrap
我将数据传递到modalInstance,如下所示。在模态中,用户可以创建新项目。在保存按钮按下,新项目将发送到服务器。我需要能够使用$ scope.items中的更新数据刷新模态实例。注意,模态不会在保存时关闭,所以我不能只重新打开它。任何帮助将不胜感激。
$scope.items = ['item1', 'item2', 'item3'];
$scope.open = function (size) {
var modalInstance = $modal.open({
templateUrl: 'myModalContent.html',
controller: 'ModalInstanceCtrl',
resolve: {
items: function () {
return $scope.items;
}
}
});
modalInstance.result.then(function () {
// post updated $scope.items to server
// get fresh $scope.items from server
// notify modal of the updated items
}, function () {
});
};
});
答案 0 :(得分:1)
您可以尝试仅为$modalInstance
作为当前$scope
的孩子创建范围,如下所示:
var modalInstance = $modal.open({
templateUrl: 'myModalContent.html',
controller: 'ModalInstanceCtrl',
scope: $scope
});
所以现在在向item
添加一些items
后,一切都会正常工作。
有关详细信息,您可以在 angular bootstrap page 上查看$modal
指令的说明:
scope - a scope instance to be used for the modal's content (actually the $modal service is going to create a child scope of a provided scope). Defaults to $rootScope
希望,它会解决你的问题;)