在新标签/窗口中打开新视图

时间:2015-11-09 08:45:38

标签: javascript html angularjs route-provider

我正在尝试处理'滚轮点击'和'右键单击>在新标签/窗口中打开,以便在新标签/窗口中加载目标视图。

我想在一个观点中说,我有类似的东西:

  <li><a href="javascript:void(0)" ng-click="h.changeView('projects')">Time Tracking</a></li>
  <li><a href="javascript:void(0)" ng-click="h.changeView('requests')">Dashboard</a></li>

我的控制器中的changeView()功能如下所示:

  this.changeView = function(viewPath) {
    $location.path(viewPath);
  };

这样的路线配置:

// Routes configuration
app.config(['$routeProvider', function($routeProvider) {
  $routeProvider
    .when('/', {
      templateUrl: 'requests/requestsList.html',
      controller: 'requestsController',
      controllerAs: 'r'
    })
    .when('/requests', {
      templateUrl: 'requests/requestsList.html',
      controller: 'requestsController',
      controllerAs: 'r'
    })
    .when('/projects', {
      templateUrl: 'projects/projectsList.html',
      controller: 'projectsController',
      controllerAs: 'p'
    })
    .otherwise({
      redirectTo: '/'
    });
}]);

如何在不同的标签/窗口中处理新视图的显示?

此外,我的$routeProvider中是否有一种语法允许我将//requests合并到同一个when(...)中?

2 个答案:

答案 0 :(得分:-1)

简单的HTMl将帮助你。在HTML代码中添加target =“_ blank”

答案 1 :(得分:-1)

尝试使用$ window服务:

this.changeView = function(viewPath) {
  $window.open(viewPath, '_blank');
};