组合$window和$stateProvider以打开一个新的浏览器选项卡窗口

Combine $window and $stateProvider to open a new browser tab window

本文关键字:一个 选项 窗口 浏览器 stateProvider window 组合      更新时间:2023-09-26

app.js

 $stateProvider.state('tenant.propertyGoogleMap', {
            url: '/PropertyGoogleMap',
            templateUrl: '~/App/tenant/views/propertymanagement/propertyGoogleMap.cshtml',
            menu: 'PropertyGoogleMap.Tenant'
        });

html

<button type="button" class="btn btn-primary" ng-click="vm.propertyGoogleMap()">
                    @L("PfMap")
                </button>

js

 vm.propertyGoogleMap = function () {
                $window.open('tenant.propertyGoogleMap', '_blank');
            };

你能告诉我当用户点击按钮时,如何将$window$stateProvider组合起来打开一个新的浏览器选项卡吗?当我如上所示尝试时,它会给出404 error。谢谢。

尝试使用:

vm.propertyGoogleMap = function () {
                    var url = $state.href('tenant.propertyGoogleMap', {}, {absolute: true});
                    $window.open(url, '_blank');
                };

其中$state是uiRouter$state服务。

具有选项absoulte: true的方法href返回给定状态的绝对URL。