当modal关闭回到主页时,在angularjs中

时间:2016-12-22 20:58:27

标签: angularjs modal-dialog

当用户点击主菜单上的图标时,我有一个模态显示。它在标题模板html中。这是代码:

<li class="navButton" style="float:right">
  <a href="#/reportSettingModal" id="reportSetting" ng-click="updateReportSetting()" title="ReportSetting">
        <i class="fa fa-cog" aria-hidden="true"></i>
  </a>
 </li>  

关闭功能在控制器中:

angular.module('vApp.controllers')
.controller('ReportSettingModalCtrl', [
    '$scope',
    '$rootScope',
    '$uibModal',
    'Session',
    '$uibModalInstance',
    function($scope, $rootScope, $uibModal, session,  $uibModalInstance){
            $scope.username = session.user;
          $scope.title = 'Report Settings';

    $scope.close = function() {
      $uibModalInstance.close();

    };

在可以显示模态的3个页面的每个页面中,我都有这个代码:

$scope.updateReportSetting = function(){
                 $scope.selectModalInstance = $uibModal.open({
                templateUrl: 'views/reportSettingModal.html',
                controller: 'ReportSettingModalCtrl'
                 });
            }

问题是,当用户点击Analyze页面并关闭模态时,显示的页面是主页而不是Analyze。 当模态被关闭时,如何保持单击模态时最初显示的页面?

1 个答案:

答案 0 :(得分:0)

问题是锚标记上的href属性。

默认情况下,浏览器会尝试将href中的任何内容加载到网址中。因此,当您单击该元素时,它将触发click事件以及位置更新事件。 Angular所做的是anchor a directive,以便在href或类似内容不存在时阻止该默认选项。这就是为什么删除它会阻止导航事件发生的原因,让你留下相同的页面。

话虽如此,如果你没有导航到一个新页面,那么使用按钮而不是锚点会更加语义,原因是这样的。