我目前有办法获取一部分数据,并将其单独发送到新标签中。
现在的问题是,这种情况发生在AngularJS应用程序中,并且URL保持不变。所以如果我在新标签中打开"在Accounts项或Customers项中,url仍然相同(app/#/apiTab
)。我希望将网址更改为app/#/apiTab?Method=Accounts&Version=1.0
或app/#/apiTab?Method=Customers&Version=2.3
。因此,用户可以将其复制/粘贴给某人,他们可以将其插入,并在其浏览器上获得相同的结果。
我不确定那是多么可能。
这是我目前的布局。
apiTab.html (上面的底部页面 - 打开的新标签页)
<div ng-controller="apiTabController">
<div class="panel panel-info">
<div class="panel-heading">
<h4 class="panel-title">
{{data.uri}}
</h4>
</div>
<div class="panel-body">
<table class="table">
<tr ng-repeat="method in data.methods">
<td>{{method.name}}</td>
<td>{{method.desc}}</td>
</tr>
</table>
</div>
</div>
</div>
我的api.html片段(上面的首页 - 显示可以打开新标签的项目)
<div class="tab-pane active" id="tab1">
<div ng-repeat="api in apiList[0].accounts">
<div class="panel panel-info" id="panel1">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-target="#collapseAccountsV{{$index}}" class="collapsed">
{{api.uri}}
</a>
<i class="newTab" ng-click="apiTab(api)">(Open in new tab)</i>
</h4>
</div>
<div id="collapseAccountsV{{$index}}" class="panel-collapse collapse">
<div class="panel-body">
<table class="table">
<tr ng-repeat="method in api.methods">
<td>{{method.name}}</td>
<td>{{method.desc}}</td>
</tr>
</table>
</div>
</div>
</div>
</div>
apiController.js (将数据推送到sessionStorage )
angular.module('app').controller('APIController', ['$scope', '$location', 'APIMethodService', function($scope, $location, APIMethodService) {
$scope.title = "API";
$scope.apiList = APIMethodService.apis;
$scope.apiTab = function(apiData) {
sessionStorage.setItem("apiData", JSON.stringify(apiData));
window.open("#/apiTab");
};
}]);
apitabController.js (从sessionStorage为新标签提取数据)
angular.module('app').controller('apiTabController', ['$scope', function($scope) {
var retrieved = sessionStorage.getItem("apiData");
$scope.data = JSON.parse(retrieved);
}]);
问题:如何设置此选项以选择性地接收和显示网址参数,以便用户可以使用网址直接转到特定的API部分,而不必在主要是api.html。
答案 0 :(得分:0)
由于您将这些数据存储在sessionStorage中,您可以:
apiData
保存到sessionStorage $routeChangeStart
上的sessionStorage以查看是否存储了apiData
apiData
,然后从sessionStorage 可能不理想......