Открытие в новой вкладке с помощью ui-sref и $ state.go - PullRequest
0 голосов
/ 04 февраля 2019

Так что у меня возникла проблема с использованием этих двух.Если я щелкну правой кнопкой мыши на ui-sref и нажму кнопку Открыть в новой вкладке, она откроется просто отлично, и я останусь в системе. Однако, если я щелкну правой кнопкой мыши на элементе с ng-click и использую $stae.go, он выйдет измое приложение и не перемещает меня на страницу.Есть ли способ, которым я могу получить ui-sref поведение новой вкладки при использовании $state.go?

Вот некоторый код:

Если я щелкну правой кнопкой мыши и открою в новой вкладке, она работает нормально

        <a ui-sref="app.locations" ui-sref-active="active"
           ng-class="{active: $root.state.includes('app.locationDetail')}">
            <div class="sub-menu-icon">
                <i class="icon-locations"></i>
            </div>
            <span class="sub-menu-label">Locations</span>
        </a>

Если я щелкаю правой кнопкой мыши и открываю новую вкладку, и этот метод вызывается, он выводит меня из системы и не выполняет навигацию.

<a href ng-click='vm.viewDetail(dataItem)'><span>" + value + "</span></a>

, который вызывает это в методе viewDetail

vm.viewDetail = function ($event, dataItem) {
    var id = dataItem.id;
    $state.go(vm.detailRoute, {id: id});
};

Что мне нужно добавить в метод $state.go, чтобы это не происходило?

1 Ответ

0 голосов
/ 04 февраля 2019

если вы используете ng-click, добавьте $ window service в ваш контроллер.

var app = angular.module('myApp', []);

app.controller('myCtrl', function($scope, $window) {
  $scope.viewDetail = function(dataItem) {
    var id = dataItem.id;
    $window.open('/'+vm.detailRoute+'/'+id);
  };
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...