【问题标题】:AngularJS UI Router - open state with data in new browser tabAngularJS UI 路由器 - 在新的浏览器选项卡中使用数据打开状态
【发布时间】: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 的目的吗?我以前从来没有这样做过……

标签: angularjs angular-ui-router


【解决方案1】:

看来我的问题与在 angularjs 中启用 html5mode 有关。

要继续使用 html5mode,我可以按照 angular ui 路由器网站的建议进行 url 重写,或者将后端的所有路由重定向到指向索引,如下所示:

Spring Boot with AngularJS html5Mode

我可以完全禁用 html5mode,因为我意识到它默认支持我需要的功能。

人们倾向于在新的浏览器标签中打开链接。实际上,我正在努力满足这种需求。

【讨论】:

    猜你喜欢
    • 2016-09-24
    • 1970-01-01
    • 1970-01-01
    • 2014-03-19
    • 2018-08-29
    • 1970-01-01
    • 2022-12-09
    • 2011-07-28
    相关资源
    最近更新 更多