Javascript 在模态angularjs中调用$state.go

Javascript 在模态angularjs中调用$state.go,javascript,angularjs,angular-ui-bootstrap,Javascript,Angularjs,Angular Ui Bootstrap,我在模态控制器中添加了一个$state.go,在我的提交按钮功能中,第一次它被调用时,但当我尝试再次打开模态并在另一次提交时,$state.go没有被调用 ModalCtrler.js $scope.addElet= function(){ ------ $state.go('state1',{OBJ: OBJ}); } 模式在my run app.js中定义: myApp.run(function($rootScope, $modal,$state) { $rootS

我在模态控制器中添加了一个$state.go,在我的提交按钮功能中,第一次它被调用时,但当我尝试再次打开模态并在另一次提交时,$state.go没有被调用

ModalCtrler.js

$scope.addElet= function(){
  ------ 
  $state.go('state1',{OBJ: OBJ});   
}
模式在my run app.js中定义:

myApp.run(function($rootScope, $modal,$state) {
    $rootScope.$on('$stateChangeStart', function(event, toState,toParams) {
    if (toState.name == 'addPopup') {

            $modal.open({
                templateUrl : 'add.html',
                controller : 'ModalCtrler',
                backdrop: 'static',
                keyboard: false,


            });

            event.preventDefault();

        } 

    }

}
当我在ui serf中单击时,将调用该模式:

<a ui-sref="addPopup({OBJ: OBJ})">
    <button type="button" class="btn btn-add pull-right">ADD</button>
</a>

我的代码中缺少什么东西了吗?你有什么想法?

我想你的问题是:

在调用$state.go'state1',{OBJ:OBJ}之前,对modal不做任何操作

仅在调用$state.go后才尝试隐藏它

比如:

$scope.addElet= function(){
  $modalInstance.close();  // or $modalInstance.dismiss();
  $state.go('state1',{OBJ: OBJ});   
}

通过重新设定状态解决的问题:

 $state.go('state1', {OBJ: OBJ}, { "reload": 'state1''}); 

多亏了

,我尝试了您的解决方案,但它没有被调用。是的,我找到了它,但它没有进入state=state1的控制器,因为state没有changed@selma那么,这是一种正确的行为,你能澄清一下吗?通常在打电话给州政府时,它必须改变州政府,在这里它没有改变。我尝试了这个$state.go'state1',{OBJ:OBJ},{reload:true};但它在每个提交的模式上输入两次
 $state.go('state1', {OBJ: OBJ}, { "reload": 'state1''});