使用引导选项卡保存表单并重新加载状态

时间:2016-10-06 19:01:31

标签: angularjs angular-ui-router

当我提交表单以保存用户个人资料时,我想向用户显示一条警告消息,以显示记录是否已成功保存。我有3个引导选项卡,我要保存的表单位于活动选项卡上。

我认为警报未显示,因为model.Spieler需要重新加载。我不知道该怎么做。如果这个页面是一个单独的路线,我可能会$state或类似的东西。我可以点击不同的标签并返回,警报将显示。

我试过了:$state.reload()但是没有运气。

显示提醒的HTML:

$state.transitionTo('myprofile', null, {reload: true, notify:true});

相关州:

<div ng-if="profilesaved == 'saved'" class="alert alert-success fade in">
    <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
    <strong>Success!</strong> Your profile has been saved
</div>

设置数据库记录的功能。

.state('myprofile', {
    url: '/my-profile',
    templateUrl: 'pages/my-profile.html',
    controller: 'MyProfileController as myprofile',
    resolve: {
      // controller will not be loaded until $requireSignIn resolves
      "firebaseUser": ["$firebaseAuthService", function($firebaseAuthService) {
        // If the promise is rejected, it will throw a $stateChangeError
        return $firebaseAuthService.$requireSignIn();
      }]
    }           
})

1 个答案:

答案 0 :(得分:0)

不确定这是否是解决此问题的最佳方法,但这样做了诀窍:

 .then(function(data) {
    console.log('profile saved');
    $scope.profilesaved = "saved";
    $scope.$apply();
    $timeout(function(){$state.reload();}, 4000);
 })