2014-09-11 3 views
1

각도로 단추에 외부 링크를 지정하려면 어떻게합니까?외부 링크가있는 AngularJS 단추

"/ auth/signout"url에 단추를 가리켜 야합니다.이 URL은 Angular 외부에 있습니다. 아마 저를 리디렉션, 버튼

<a href="/auth/signout"></a> 

내가

<button ng-click="logout()">Logout</button> 

을 시도하고 컨트롤러에

.controller('notification', ['$scope','$location',function($scope, $location){ 
    $scope.logout = function() { 
     $location.url('/auth/signout'); 
    }; 
}]) 

을 추가하는 듯했으나 아무 반응이 없습니다 : 링크

이 작동 각도 앱의 루트 .otherwise('/').

location.href('/auth/signout') 또한 시도했지만 TypeError가 throw됩니다. string은 함수가 아닙니다.

나는

<a href="/auth/signout"><button>Logout</button></a> 

같은 뭔가를 할 수 있지만, 그것은 나에게 조금 해키 보인다.

+0

왜 해키이다? 'a' 태그 안에 버튼을 중첩하는 것은 정상적인 동작입니다 (javascript 로직이 필요하지 않은 경우). – ConcurrentHashMap

+0

IE 호환성 문제로 인해 항상 나쁜 생각이라고 생각했습니다. 일반적으로 jQuery를 사용하여 버튼 클릭을 처리했지만 이제는 모든 것을 올바르게 수행하고 각도를 조정합니다. – orszaczky

+0

부울랩 프레임 워크를 사용하는 경우에는 ''을 사용할 수 있습니다. –

답변

2

좋은 오래된 단순한 window.location = '/auth/signout';은 잘 작동합니다.

+0

이것은 나에게 TypeError를 준다 : 객체는 함수가 아니다 – orszaczky

+0

나는이 일을하기 위해 컨트롤러에 무엇인가를 주입해야합니까? – orszaczky

+0

더 많은 컨텍스트를 제공하기 위해 전체 컨트롤러로 내 질문을 업데이트했습니다. – orszaczky

1

이 시도 :

window.location.href = '/auth/signout'; 
+0

이 작품! 정말 고마워! – orszaczky

+0

죄송합니다. Shomz의 답변은 정상적으로 작동하지만 실수 만했습니다. 그는 올바른 대답을 한 첫 번째 사람 이었으므로 할 수있는 일은 그의 대답을 받아들이는 것입니다. – orszaczky

+1

충분히 공정하게! :) – Prasad

관련 문제