2013-04-21 4 views
5

다양한 프로젝트를 연구하고 다룰 수있는만큼 많은 설명서를 읽은 후 내 응용 프로그램에 지시문을 포함시키는 방법에 대한 문제가 발생했습니다. 이 앱은 다음과 같은 설정입니다 :각도 - 지시문 및 모듈 사용

app.js - 모듈의

angular.module('ngDashboard', ['ngCookies','ngResource','ngDashboard.filters', 'ngDashboard.services', 'ngDashboard.directives']) 

모두 제외하고 잘 작동 그냥 상단 부분 지시어 돈 '에 대한 (이 예에서 다시 응용 프로그램입니다) 모든 t 작업 :

directives.js -이 작동하지 않음 다음과 뷰의 지침을 실행하지 않습니다

angular.module('ngDashboard.directives', []). 
    directive('funkyElement', function() { 
    return { 
     restrict: 'E', 
     transclude: true, 
     scope: 'isolate', 
     template: '<div>gonna parse this: {{orig}} <br/>... and get this: {{obj}}</div>', 
     //templateUrl: 'template.html', 
     compile:function (element, attr, transclusionFunc) { 
      return function (scope, iterStartElement, attr) { 
       var origElem = transclusionFunc(scope); 
       var content = origElem.text(); 
       scope.orig = content; 
       scope.obj = my_custom_parsing(content); 
      }; 
     } 
    }; 
}); 

이 같은 directives.js 파일에서 다음을 수행합니다 제대로 작동하고 지시어는 실행 :

angular.module('ng').directive('funkyElement', function() { 
    return { 
     restrict: 'E', 
     transclude: true, 
     scope: 'isolate', 
     template: '<div>gonna parse this: {{orig}} <br/>... and get this: {{obj}}</div>', 
     //templateUrl: 'template.html', 
     compile:function (element, attr, transclusionFunc) { 
      return function (scope, iterStartElement, attr) { 
       var origElem = transclusionFunc(scope); 
       var content = origElem.text(); 
       scope.orig = content; 
       scope.obj = my_custom_parsing(content); 
      }; 
     } 
    }; 
}); 

html로는 간단하다 :

이하는 지시의 세트와 아마 이유를 포함하는 적절한 방법은 무엇 내 질문은
<funky-element> 
    Parse me... come ooooon! Just parse meee! 
</funky-element> 

인을 사용하여 첫 번째 예 (ngDashboard.services)가 작동하지 않습니다.

+0

라이브 코드로 플 런커를 보낼 수 있습니까? 더 많은 코드를 보지 않고 어떤 일이 벌어지고 있는지 말하기는 불가능합니다. 내가 지금까지 볼 수있는 것을 바탕으로'ng-app = "ngDashboard"'를 사용하여 앱을 초기화하지 않았거나 파일을 포함 할 때 상황이 뒤섞여 있다고 가정합니다. 다시 한번, 라이브 코드는이 모든 것을 명확하게 보여줄 것입니다. –

+0

일부 라이브 코드를 게시 하겠지만 전체 앱이 제대로 작동하고 모든 서비스, 컨트롤러가 제대로 작동하지 않는 유일한 방법은 지침입니다. – lucuma

+0

app.js 파일이 캐시되었거나 지시문 종속성을 추가 한 후 save를 누르지 않았습니다. 너무 오랫동안 그것을 어지럽히고 난 후에 나는 그것이 저장되지 않았다는 것을 의심하지만 그 가능성에 대해 공개적이다. – lucuma

답변

5

app.js 파일은 캐시 되었기 때문에 지시문 종속성이 없거나 저장하지 못했습니다 (주말 작업과 심야 모두 가능).

  1. 확인 파일이
  2. 를 끕니다 캐시되지 않습니다 있는지 확인하는 스크립트 콘솔 : 나는이 표시됩니다 app.js하는 업데이트를 만든 후이 문제가 해결 된 이후의 조언과 해결로 완전히 캐싱하거나 시크릿 모드를 사용하십시오. 항상
  3. NG-앱이 문서에 추가되어 있는지 확인합니다 (이 아니었다 그러나 다른 사람이 도움을 줄 수)
  4. 당신이 피곤 때
  5. 더 커피를 마셔 파일을 저장해야합니다 새로운 학습 프로그래밍 언어/프레임 워크.

마지막으로 Angular와 관련하여 ng 모듈에 지시문을 추가 할 수 있다는 것을 깨닫지 못해서 사용할 수있게되었습니다. 이것이 최선의 방법은 아니지만 빠른 코드를 테스트하고 함께 사용하면 편리 할 것입니다.