2016-07-12 3 views
0

Я новичок в AngularJS, и, видя, что весь мой html-код становится более массивным и грязным, я хотел бы сделать директивы для его организации. Итак, я начал немного директивы, которые вы можете увидеть здесь:Пользовательская директива AngularJS не генерирует код

app.module('MyDirectiveModule', [ ]) 

.directive('TestDirective', function() { 
    return { 
    restrict: 'E', 
    templateUrl: 'test-index.html' 
    }; 
}); 

для этой небольшой кусок кода:

<div class="text-center"> 
     <h1>Coding with AngularJs</h1><br><br> 
    </div> 

поэтому конечный результат (файл HTML директива тест-индекс. HTML):

<body ng-app="testsApp"> 

    <test-index></test-index> 

я включаю все сценарии, и я проверил все пути, я до сих пор не понимаю, почему она до сих пор не работает ..

+0

изменить свое имя директивы для testIndex вместо TestDirective. Он будет работать – JEMI

ответ

0

У вас есть это:

<body ng-app="testsApp"> 

, который означает, что вы должны иметь testsApp модуль. Если да, то она должна зависеть от MyDirectiveModule, что ваша директива находится в

angular.module('testsApp', ['MyDirectiveModule']); 

Если вы не имеете testsApp модуль, а затем заменить значение нг-приложение к модулю директивы:.

<body ng-app="MyDirectiveModule"> 

И как упоминает @Baruch, элемент вашей директивы должен быть изменен на это:

<test-directive></test-directive> 
+0

В этом была проблема, спасибо (и название директивы, оно должно иметь строчный первый символ), теперь у меня ошибка загрузки шаблона, но я думаю, что это является частью проблемы – baldash

3

Вы вызываете свою директиву, используя <test-index></test-index>, но имя вашей директивы TestDirective. Вы должны называть его использованием <test-directive></test-directive>

Кроме того, если вы используете Angular 1.5, я рекомендую вам изучить компоненты вместо директив. Это сделает переход на Angular2 более гладким.

+0

Спасибо за ваш ответ, но проблема все еще присутствует. – baldash

Смежные вопросы