Angularjs 无法将角度ui模式值更新回调用者屏幕

Angularjs 无法将角度ui模式值更新回调用者屏幕,angularjs,modal-dialog,angularjs-scope,Angularjs,Modal Dialog,Angularjs Scope,我试图在单击列表中的元素时调用angularUI模式。我可以成功加载模式,更改模式中的值,然后返回调用者屏幕。但我不知道如何更新来电屏幕上的列表。我尝试了各种方法,比如更新调用方屏幕控制器的init()方法,但在模式关闭时没有调用。我试图在控制器中指定为变量,但也不起作用。我的猜测是,在下面的方法中需要做一些事情 modalInstance.result.then(函数(personModified){ $log.info('personModified='+personModified.na

我试图在单击列表中的元素时调用angularUI模式。我可以成功加载模式,更改模式中的值,然后返回调用者屏幕。但我不知道如何更新来电屏幕上的列表。我尝试了各种方法,比如更新调用方屏幕控制器的init()方法,但在模式关闭时没有调用。我试图在控制器中指定为变量,但也不起作用。我的猜测是,在下面的方法中需要做一些事情

modalInstance.result.then(函数(personModified){
$log.info('personModified='+personModified.name+'完成时间:'+new Date());
},函数(){
$log.info('Modal disposed at:'+new Date());
});

};
在打开模式时,将数组元素索引与当前元素一起传递,如
modalCtrl.open('lg',person,$index)
,当模式调用成功时,我们可以更新该特定索引的
this.people
数组

HTML

<div ng-repeat="person in modalCtrl.people">
    <a ng-click="modalCtrl.open('lg', person, $index)" class="undecorated-link">
        <p class="text-center">{{person.name}}</p>
    </a>
</div>


希望这能对你有所帮助,谢谢。

@pankajparker你需要和其他人解决这个问题。我遇到了一个问题,他提出了这个解决方案。现在你正试图反对这个解决方案。我想更新列表,除非单击“确定”,否则不会更新列表。你能告诉我怎么做吗?stackoverflow.com/questions/28779317/issue-in-scope-sharing-with-angularjs-modal/28780175#28780175@SaurabhGupta我的错,现在看看最新的答案。@pankajparker:看来你搞定了,我的朋友。谢谢你的帮助@我想我还没有资格投票。这样做需要15个声誉:(@SaurabhGupta谢谢.)你做到了:p
modalCtrl.open = function(size, selectedPerson, index) {

    var modalInstance = $modal.open({
        templateUrl: 'myModalContent.html',
        controller: 'ModalInstanceCtrl',
        size: size,
        scope: $scope,
        resolve: {
            person: function() {
                return angular.copy(selectedPerson);
            }
        }
    });

    modalInstance.result.then(function(personModified) {
        $log.info('personModified = ' + personModified.name + ' Finished at: ' + new Date());
        modalCtrl.people[index] = personModified;
    }, function() {
        $log.info('Modal dismissed at: ' + new Date());
    });
};