2014-07-06 4 views
0

저는 각도를 배우기위한 빠른 테스트 환경을 만들기 위해 yo angular을 사용하고 있습니다. 모든 것이 예상대로 작동하지만 나는이 실험을 시작 했어 :보기의 지시어가 작동하지 않습니다.

앱을 app.js에 정의를이

angular 
    .module('angularApp', [ 
    // ... 
    ]) 
    .config(function ($routeProvider) { 
    $routeProvider 
     .when('/', { 
     templateUrl: 'views/main.html', 
     controller: 'MainCtrl' 
     }) 
     // ... 
    }); 

같은 외모와 main.js에는 다음이 포함되어 이제

angular.module('angularApp') 
    .controller('MainCtrl', function ($scope) { 
    $scope.awesomeThings = [ 
     // ... 
    ]; 
    }); 

나는 "어이, 주 템플릿 views/main.html 안에 내 지시문을 갖고 싶습니다."라고 생각했습니다.

그래서 나는 contact.js을 만든 index.html에서 그것을 연결하고 다음 줄을 썼다 :
angular.module('angularApp') 
    .directive('myDir', function() { 
    'use strict'; 
    return { 
     template: 'Testing' 
    }; 
    }); 

가 지금은 views/main.html<my-dir></my-dir>를 추가되었지만 요소를 검사 할 때, <my-dir></my-dir>이 여전히 존재하지 대체됩니다.

내가 뭘 잘못하고 있니?

app.directive('myDir',function(){ 

    restrict:"E", 
    replace:true, 
    template:'<div> Testing </div>' 

}); 

다음은 인덱스 페이지에 contact.js를 등록
var app= angular.module('angularApp', []).config ... 

지금과 같은 contact.js이 var에 응용 프로그램을 사용 app.js 사용

+0

템플릿 정의 객체에'replace : true'를 추가해보십시오. – ivarni

+0

콘솔에 오류가 있는지 확인하십시오. 작동해야합니다 : [** FIDDLE **] (http://jsfiddle.net/SX4M2/) – Mosho

+0

지시문을 만들면 기본적으로 특성으로 제한됩니다. Element 지시어에 대한 지시어 정의에서 restrict : 'E'를 지정하십시오. – pixelbits

답변

0

, ...

이제 모든 .js 파일에서 angular.modue (...)를 사용하는 대신이 'app'var (contact.js에 표시된대로)을 사용합니다.

+0

감사합니다. 예, 전 요요 발생기 때문에 전역 각도 만 사용하고 있습니다. 하지만 조언 주셔서 감사합니다! – lumio

+0

그게 뭔지 말해 줄 수 있어요? 나는 알고 싶다. – micronyks

+0

http://yeoman.io - 시작하는 "템플릿"종류가있는 웹 사이트 생성기. – lumio

관련 문제