2016-07-31 24 views
1

Ich möchte AngularJS lernen in JSF Seiten zu verwenden. Dies ist ein reiner Lernzweck. Ich habe versucht, einfach AngularJS Code innerhalb der JSF hinzuzufügen. Aber es scheint den AngularJS-Code nicht zu identifizieren. es einfach aus dem gleichen My first expression: {{ 5 + 5 }} in den Browser setzen.Wie benutze ich AngularJS in JSF Seite

meine JSF Seite

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js">  
    </script> 

    <body> 
     <div ng-app="hi" > 
     <p>My first expression: {{ 5 + 5 }}</p> 
     </div> 

    </body> 

</html> 

Kann mir jemand helfen, wie die Ausgabe des AngularJS Ausdruck in der JSF-Seite zu bekommen? oder zeigen Sie mir irgendeine Richtung

UPDATE

meine eigentliche Absicht ist es, einige Json aus Managebean oder von einer anderen JSF-Seite und füllen Sie hier. aber dafür habe ich versucht, eine Dummy-JSON-Struktur zu erstellen. aber jsf identifiziert die AngularJS-Komponente nicht. Es ist einfach Mein erster Ausdruck drucken: {{5 + 5}} Browser-Konsole druckt MyFirstAng.xhtml:24 Uncaught TypeError: app.conntroller is not a function

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 

<body> 
<div ng-app="myAPP" ng-controller="customerctrl">  
<p>My first expression: {{ 5 + 5 }}</p> 

<!-- <ul> 
<li ng-repeat="x in myData"> 
{{x.Name + ', ' + x.Age}} 
</li> 
</ul> 
--> 

</div>  
</body>  
<SCRIPT type="text/javascript"> 

    var app = angular.module('myAPP',[]); 
    app.conntroller('customerctrl', function($scope){ 

     // $scope.myData=[{Name:'jani',Age:'32'}]; 
    }); 

</SCRIPT> 
</html> 
+1

wo ist 'hi' Modul definiert? Hast du es deiner Indexseite hinzugefügt? – Rachmaninoff

Antwort

0

Damit Winkel ng-app="hi" zu initialisieren einen Modul mit diesem Namen vorhanden sein muss. Andernfalls sollte eine Ausnahme in der Browser-Dev Tools-Konsole angezeigt werden. Bitte beachten Sie Fehler-Konsole, wenn Sie Javascript-Anwendungen

Entweder Entwicklung gehören ein Modul mit dem Namen oder den Namen aus dem Attribut entfernen und verwenden nur ng-app

+0

'Nachricht Error Parsing /angular/MyFirstAng.xhtml: Error Traced [line: 7] Der Attributname" ng-app ", der einem Elementtyp" div "zugeordnet ist, muss vom '=' Zeichen gefolgt werden. Ich erhalte diesen Fehler wenn Ich entferne den ng-app-Attributwert. –

0

Entweder diese

var app = angular.module('hi',[]); 

in Ihrem Skript einfügen oder das machen ng-app="" ... Ihre Wahl. Wenn Sie irgendetwas in der ng-app angeben, dann müssen Sie ein Modul wie oben von mir gemacht machen. Ansonsten geben Sie einfach nichts in der ng-app, d. H. ng-app="". Zu einem späteren Zeitpunkt, wenn Sie einen Controller machen möchten, können Sie ein Modul machen .. Für jetzt ist es am besten leer.

+0

@zaunut wenn ich den Attributwert entferne, bekomme ich 'message Error Parsing /angular/MyFirstAng.xhtml: Error Traced [line: 7] Auf den Attributnamen" ng-app ", der einem Elementtyp" div "zugeordnet ist, muss das '= folgen 'character.fehler –

+0

Froh, dass Sie das Problem haben .... Markieren Sie eine Antwort als die richtige Antwort, um diese Frage als beantwortet zu markieren .. – zainul

1

Ok, ich habe das Problem gefunden. Es war ein Tippfehler in der app.controller. Ich hatte extra "n" eingegeben. es funktionierte. Danke, dass Sie mir bisher geholfen haben, das Problem zu erkennen. Ich dachte, ich vermisse eine AngularJS-Bibliothek oder so.