AngularJS UI 路由器 - 在新的浏览器选项卡中使用数据打开状态
Posted
技术标签:
【中文标题】AngularJS UI 路由器 - 在新的浏览器选项卡中使用数据打开状态【英文标题】:AngularJS UI Router - open state with data in new browser tab 【发布时间】:2016-10-15 12:22:12 【问题描述】:我在尝试在新的浏览器选项卡中打开状态时遇到问题。当它在新的浏览器选项卡中打开时,它应该解析异步调用以填充数据。这可能与angularjs ui路由器有关吗?
这是我的 ui 路由器设置:
.state('snapshots.user_detail',
url: "/user/detail/userID:[0-9]+",
templateUrl: function($stateParams)
return "user/detail/" + $stateParams.userID;
,
controller: "userDetailCtrl as userDetailCtrl",
resolve:
async: ['userService', '$stateParams',
function(userService, $stateParams)
alert("running detail ctrl async");
return userService.getUser($stateParams.userID);
]
)
userDetailCtrl:
function userDetailCtrl($scope, async)
"use strict";
var self = this;
self.user = async;
【问题讨论】:
这不是违背了 Angular 作为 SPA 的目的吗?我以前从来没有这样做过…… 【参考方案1】:看来我的问题与在 angularjs 中启用 html5mode 有关。
要继续使用 html5mode,我可以按照 angular ui 路由器网站的建议进行 url 重写,或者将后端的所有路由重定向到指向索引,如下所示:
Spring Boot with AngularJS html5Mode
我可以完全禁用 html5mode,因为我意识到它默认支持我需要的功能。
人们倾向于在新的浏览器标签中打开链接。实际上,我正在努力满足这种需求。
【讨论】:
以上是关于AngularJS UI 路由器 - 在新的浏览器选项卡中使用数据打开状态的主要内容,如果未能解决你的问题,请参考以下文章