所以我在使用这两个时遇到了问题。如果我右键单击 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);
};
});
https://stackoverflow.com/questions/54519779/
相关文章:
sql-server - 如何将变量传递给 SSDT 2017 中的 ODBC SQL 命令?
git - Jenkins 管道在远程源提取期间失败(无法更新本地引用)
spring - 多部分文件(未给定条件)。错误 400(错误请求)
laravel - 无法使用 npm run production 在生产环境中编译 Assets
c++ - 如何在 Visual Studio Code 中构建和运行作为发布版的 C++ 应用程序
firebase - 为什么我的 Xamarin.iOS 应用程序没有收到来自 Google Fir
node.js - Express Session cookie 未保存在 Chrome 中?