当用户点击主菜单上的图标时,我有一个模态显示。它在标题模板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。 当模态被关闭时,如何保持单击模态时最初显示的页面?
答案 0 :(得分:0)
问题是锚标记上的href
属性。
默认情况下,浏览器会尝试将href
中的任何内容加载到网址中。因此,当您单击该元素时,它将触发click事件以及位置更新事件。 Angular所做的是anchor a directive,以便在href
或类似内容不存在时阻止该默认选项。这就是为什么删除它会阻止导航事件发生的原因,让你留下相同的页面。
话虽如此,如果你没有导航到一个新页面,那么使用按钮而不是锚点会更加语义,原因是这样的。