2014-10-08 3 views
0

나는 조건 적으로 요소를 숨기는 angular.js 지시문을 작성하고 있습니다.angularjs 지시문의 링크 함수에서 혼란스러운 속성

link: function(scope, elem, attrs) { 
     ... 
     elem.hide() 
} 

내가 정확히 뭘하고 있었 예제를 많이 찾았지만, 어떻게 든 내 ELEM 속성은 배열이 아닌 요소, 그래서 그것은 숨기기() 메소드를 가지고 있지 않습니다 은 그래서 같을 것이다. 내가 무엇이 누락 되었습니까?

감사합니다.

+0

죄송가 배열이 아닌, 그리고 숨기기/표시 방법이 개체에서 제거 된 것 같습니다 <div ng-show="isDisplayed">,를 추가하고 연결 기능을한다. – gsanta

답변

2

대부분의 사람들은 jQuery를 전체 jQuery로 확장하여 각도가로드되기 전에 jQuery를로드합니다.

hide 메서드는 jqLite API (https://docs.angularjs.org/api/ng/function/angular.element)의 일부로 보이지 않으므로 이러한 메서드는 노출되지 않습니다.

그렇다고 jQuery가 필요하다는 의미는 아니지만 문제를 처리하는 올바른 방법은 아닙니다. 컨트롤러를 기반으로 요소를 조건부로 숨기는 명령문은 이미 ng-showng-if입니다. 사용할 수 없습니까? 당신의 HTML에서

, scope.isDisplayed = false

+0

오, 네 말이 맞아, 고마워. 그 앤 쇼가 나에게 좋다고 생각하지 않는다. 지시어를 만든다. 메시지를 깜박이고 내용이 바뀌면 자동으로 감추어진다. 시간 간격. 그래서 여기에 사용자 지정 지시문이 필요하다고 생각합니다. 하지만 이제는 css 메소드 withouth jquery가 있으므로이 함수를 사용할 수 있습니다. element.css ("display", "none") – gsanta

관련 문제