2016-07-12 11 views
0

Ich bin neu in AngularJS und, da alle meine HTML-Code wird immer massiver und dreckiger, wollte ich Anweisungen zu organisieren, um es zu organisieren. Also, ich durch eine kleine Richtlinie gestartet, die Sie hier sehen können:AngularJS benutzerdefinierte Direktive generieren nicht den Code

app.module('MyDirectiveModule', [ ]) 

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

für dieses kleine Stück Code:

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

so dass das Endergebnis ist (die HTML-Direktive Datei Test-Index. html):

<body ng-app="testsApp"> 

    <test-index></test-index> 

I umfassen alle Skripte, und ich habe alle Wege geprüft, ich verstehe immer noch nicht, warum es immer noch nicht funktioniert ..

+0

Veränderung statt TestDirective zu Testindex. Es funktioniert – JEMI

Antwort

0

Sie haben diesen:

<body ng-app="testsApp"> 

, das bedeutet, dass Sie einen testsApp Modul haben sollten. Wenn Sie das tun, sollte es auf MyDirectiveModule abhängen, die Ihre Richtlinie ist

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

Wenn Sie kein testsApp Modul haben, dann ersetzen Sie die ng-App-Wert der Richtlinie Modul.

<body ng-app="MyDirectiveModule"> 

Und wie @Baruch erwähnt, sollten Sie Ihre Richtlinie des Elements auf diese geändert werden: Ihre Richtlinie Name

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

Das war das Problem, danke (und der Name der Anweisung, muss es ein Kleinbuchstabe ersten Zeichen), jetzt habe ich eine Vorlage laden Fehler, aber ich denke es ist ein Teilproblem – baldash

3

Sie rufen Ihre Anweisung mit <test-index></test-index> auf, aber der Name Ihrer Anweisung lautet TestDirective. Sie sollten es anrufen mit <test-directive></test-directive>

Auch wenn Sie Angular 1.5 verwenden, empfehle ich Ihnen, in Komponenten statt Anweisungen zu schauen. Es wird den Übergang zu Angular2 viel reibungsloser machen.

+0

Danke für Ihre Antwort, aber das Problem ist immer noch vorhanden. – baldash