2014-11-29 6 views
0

그래서 나는 UI-(SREF)에 의해 해결되는 링크 목록이 포함 된 메뉴가각도 UI-SREF href가 해결 완료 콜백

<ul class="dropdown-menu" role="menu"> 
    <li data-ng-repeat="var in variables"> 
    <a ui-sref="user.method({myparam:var.id})">nicename</a> 
    </li> 
</ul> 

문제는 -이 해결하기 위해 약 5 초 정도 소요가 될 때까지 해결 된, 각도로 제공되는 href는 템플릿입니다 - 대체되기 전에 클릭하면 위치 오류가 발생합니다.

이상적인 해결책은 href가 완전히 해결 될 때까지 ng-click="$event.preventDefault();"을 사용하고 콜백에서 제거하는 것입니다.

답변

0

그래서 나는 지시 - 사용 솔루션 결국

CSS :

a.disabled { 
    color: #cccccc; 
    cursor: default; 
    text-decoration: none; 
} 

HTML :

<ul class="dropdown-menu" role="menu"> 
    <li data-ng-repeat="var in variables"> 
    <a class="lock-before-resolved disabled" ui-sref="user.method({myparam:var.id})">nicename</a> 
    </li> 
</ul> 

JS 처음

.directive('lockBeforeResolved', function() { 
return { 
    restrict: 'C', //check as a class 
    link: function(scope, element, attrs, controller) { 
     attrs.$observe('href',function(){ 
      element.toggleClass("disabled"); 
     }); 
     element.on("click", function(e) { 
      if (element.hasClass("disabled")) { 
       e.stopPropagation();; 
       return false; 
      } 
     }); 
    }, 
} 
}) 

, sref 밤은 아직 아르 자형 링크가 끊어지지 않는 상태로 유지됩니다. 이벤트를 해결하면 disabled 클래스가 제거되어 링크를 클릭 할 수 있습니다.

희망이 있으면 도움이됩니다.