$ state.go 함수를 사용하여 "새 탭에서 링크 열기"기능을 구현하려고합니다. 다음과 같은 smth가 있으면 멋질 것입니다.
$state.go('routeHere', {
parameter1 : "parameter"
}, {
reload : true,
newtab : true // or smth like target : "_blank"
});
AngularJS를 사용하여 수행 할 수있는 방법이 있습니까?
$ state.go 함수를 사용하여 "새 탭에서 링크 열기"기능을 구현하려고합니다. 다음과 같은 smth가 있으면 멋질 것입니다.
$state.go('routeHere', {
parameter1 : "parameter"
}, {
reload : true,
newtab : true // or smth like target : "_blank"
});
AngularJS를 사용하여 수행 할 수있는 방법이 있습니까?
답변:
업데이트 : 좋아, 방금 다음 코드를 사용하여 해결했습니다.
var url = $state.href('myroute', {parameter: "parameter"});
window.open(url,'_blank');
나는 이것을 시도했다-분명히 다음 target="_blank"과 함께 작업을 추가 합니다 ui-sref.
<a ui-sref="routeHere" target="_blank">A Link</a>
컨트롤러에 코드를 추가하는 수고를 덜고 일반 링크와 마찬가지로 호버시 URL을 제공합니다. 윈윈!
<a ui-sref="routeHere" target="_blank" class="btn btn-primary" role="button">A Link</a>
내가 찾은 가장 좋은 대답은 ui.router를 확장하는 것이 었습니다. 기능이 빌드에 존재하지 않기 때문입니다. 자세한 내용은 여기에서 찾을 수 있습니다.
Angular 1.x ui-router의 $ state.go 확장
그러나 다음은 app.js 또는 각도 앱 초기화 파일에 추가해야하는 작업에 대한 간단한 설명입니다.
angular.module("AppName").config(['$provide', function ($provide) {
$provide.decorator('$state', ['$delegate', '$window',
function ($delegate, $window) {
var extended = {
goNewTab: function (stateName, params) {
$window.open(
$delegate.href(stateName, params, { absolute: true }), '_blank');
}
};
angular.extend($delegate, extended);
return $delegate;
}]);
}]);
코드에서
다음을 수행 할 수 있습니다.
$state.goNewTab('routeHere', { parameter1 : "parameter"});
ui-sref="routeHere" href=""target="_blank"
이 코드는 내 문제를 해결했습니다.
앵커 태그에서 사용하십시오.
이 시도!
<a ui-sref="routeHere({parameter: vm.parameter})" target="_blank"></a>