2015-01-19 3 views
1

사용자의 이름을 오른쪽 상단이나 페이지에 표시하는 응용 프로그램 레이아웃이 있습니다. 클릭하면 설정, 로그 아웃, 프로필 등을 탐색 할 수있는 드롭 다운 메뉴가 나타납니다.angularjs ui-router가 라우팅되지 않도록하기

Google 크리에이티브 팀에서 템플릿을 받았습니다. 그들은 탐색을 막기 위해 href = #와 함께 앵커 태그()를 사용하고 있습니다. 이제 각도를 통합하고 ui-router를 사용 했으므로이 접근법은 더 이상 작동하지 않습니다.

특정 조건에서 ui-router를 탐색하지 못하게 할 방법이 있습니까? 하나의 분명한 대답은 앵커 태그를 버튼으로 변경하는 것입니다. 나는 또 다른 대안을 찾고있다.

아니면 새로운 접근 방식이 필요합니까?

답변

1

은 매우 간단을 값없이 앵커 태그를 사용하여 .

+0

감사! 이것은 잘 작동합니다. 왜 내가 이것을 생각하지 않았는지 모르겠다. 필자는 일반적으로 모든 속성 값 (부울 속성조차도)을 제공하기로 선택합니다. 예 : href = "", 그러나 그것은 현재 작동하는 것으로 보입니다. – spoof3r

+1

그것은 매우 이상하지만 작동합니다. w3c가 이것을 좋아하지 않는다는 것을 기억하십시오. – rigobcastro

2

앵커를 클릭하여 등록 할 수 있으며 ui-sref 대신에 처리기 내부의 상태에 따라 $state.go을 탐색 할 수 있습니다.

<a ng-click="clickAction($event)" href="#">Route</a> 

그리고 클릭 처리기에서

기본 동작 방지 :이 놓치지 마세요 앵커 효과를 만드는

<a href class="classes"> 
    ... 
</a> 

:

//Make sure to inject `$state` 
    $scope.clickAction = function($event){ 
     $event.preventDefault(); 

     if(myconditionNotToNavigateMet){ 
     return; 
     } 

     $state.go('myUrl'); 
    } 
+0

이것은 내가 찾고있는 것입니다. 감사합니다! – spoof3r

관련 문제