所以我在使用这两个时遇到了问题。如果我右键单击 ui-sref
并单击“在新选项卡中打开”,它会正常打开并且我保持登录状态。但是,如果我右键单击具有 ng-click< 的项目
并且我使用 $stae.go
它将我从我的应用程序中注销并且不会将我导航到该页面。有没有办法在使用 $state.go
时获得 ui-sref
新选项卡行为?
这是一些代码:
如果我右键单击并在新选项卡中打开它工作正常
<a ui-sref="app.locations" ui-sref-active="active"
ng-class="{active: $root.state.includes('app.locationDetail')}">
<div class="sub-menu-icon">
<i class="icon-locations"></i>
</div>
<span class="sub-menu-label">Locations</span>
</a>
如果我右键单击并在新选项卡中打开并且调用此方法,它会将我注销并且不会导航我。
<a href ng-click='vm.viewDetail(dataItem)'><span>" + value + "</span></a>
在 viewDetail
方法中调用它
vm.viewDetail = function ($event, dataItem) {
var id = dataItem.id;
$state.go(vm.detailRoute, {id: id});
};
我需要在 $state.go
方法中添加一些东西来阻止这种情况发生吗?
最佳答案
如果你使用 ng-click,将 $window 服务注入(inject)你的 Controller 。
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $window) {
$scope.viewDetail = function(dataItem) {
var id = dataItem.id;
$window.open('/'+vm.detailRoute+'/'+id);
};
});
关于angularjs - 使用 ui-sref 和 $state.go 在新标签页中打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54519779/