2015-01-14 2 views
0
angular.module('app').directive('perfBegin', function() { 
    return { 
     restrict: 'A', 
     controller: ['$log', function($log) { 
      var vm = this; 

      vm._perfBegin = performance.now(); 
     }] 
    } 
}); 

angular.module('app').directive('perfEnd', function() { 
    return { 
     restrict: 'A', 
     require: '^perfBegin', 
     link: function(scope, el, attrs, perf) { 
      $log.log('Time (ms) = ' + (performance.now() - perf._perfBegin)); 
     } 
    } 
}); 

이 같은 위의 지침을 사용하려면 ...AngularJS와 지침 "필요"매개 변수

<span perf-begin></span> 

JS here 

<span perf-end></span> 

이 가능이 작업을 수행하려면? AngularJS는 내 스팬을 내 스팬 내에 배치해야한다고 생각합니다. 오히려하지 않을 것입니다. ^ require와 require의 차이점은 무엇입니까?

+0

AngelsJS 지시문을 만들 때 '? ngModel'의 의미는 무엇입니까? (http://stackoverflow.com/a/20890266/1959948) – Dalorzo

+0

그래서 내가 원하는 것을 성취하려면 달성하기 위해 맞춤 서비스를 주입해야합니까? 이 방법으로 나타납니다 ... –

답변

0

아니요, 자매 요소에는 사용할 수 없습니다. 할 수있는 일은 두 자매의 부모 인 부모 지시문을 정의하고 각 자매에게 부모를 요구하도록하는 것입니다.

<div parent> 
     <span sister1> 
       ... 
     </span> 
     <span sister2> 
       ... 
     </span> 
</div> 

부모가 필요로하는 것의 차이점은^부모가 DOM 트리보다 상위의 상위 지시문을 검색한다는 것입니다. 부모 (^없이)는 지시문이있는 요소를 검색합니다. 위의 예에서는^parent를 사용하는 것이 적절합니다.