2017-07-22 4 views
0

Das ist mein kleiner Basic-Code Winkel js ist: -Angular js nicht richtig mit html verhalten

var app=angular.module("myApp",[]); 
app.controller("MyController",['$scope',function($scope){ 
$scope.name="Asim"; 
$scope.f1=function(){ 
console.log("i am clicked"); 
$scope.vr="lol"; 
} 
console.log("angular working"); 
}]); 

Und das ist mein index.html Code: -

<html ng-app="myApp"> 
<head> 
<script type="text/javascript" src="/angular.min.js"></script> 
<script src="/app.js"></script> 

<title> Index </title> 
</head> 
<body ng-controller="MyController">  
{{vr}} 
{{name}} 

<button ng-click="f1()">Click me</button> 

</body> 
</html> 

Wenn ich auf die Schaltfläche klicken, um es zeigt in der Konsole "Ich bin geklickt" und "eckig funktioniert" druckt aber die {{name}} und {{vr}} nicht gedruckt. Jeder mögliche Grund ??

Plus ich bin mit Nodejs und Winkelcode ist in "öffentlichen" Ordner, d. H. Statische Ordner und meine index.html befindet sich in "Ansichten" gebildet, wenn ein Projekt mit Express-Generator erstellt wird. Ich habe einen Hinweis, vielleicht "Name" und "Vr" werden geladen, nachdem die index.html Seite gerendert wird, so dass sie nicht drucken und alles andere funktioniert, ANYWAY FIX SUCHEN?

+0

Fehler in der Konsole? –

+0

Kein Fehler dort. – Asim

+0

Mein Winkelcode befindet sich im Ordner "public". Und die index.html befindet sich im Ordner "views". Das Ordnermuster entspricht der Express-Generator-Szene. – Asim

Antwort

1

können Sie ng-bind verwenden. Nur Ihr Name wird gerendert, da die andere Variable innerhalb der ng-click initialisiert wird. Sie können einfach Einwegbindung verwenden.

<span ng-bind="name"></span> 
+0

Es könnte irgendwelche CSS-Problem auf Ihrer Sicht sein. Vielleicht werden die Daten deshalb nicht im View-Port des Bildschirms angezeigt, wenn Sie in {body} vanilla {{name}} verwenden. Wenn Sie span verwenden, stellen Sie sicher, dass Ihre Daten an einen gültigen HTML-Code gebunden sind – Vivz

0

Sie Code scheint zu arbeiten, denke ich, fehlt mir etwas?

<html ng-app="myApp"> 
 
<head> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script> 
 
<script> 
 

 
var app=angular.module("myApp",[]); 
 
app.controller("MyController",['$scope',function($scope){ 
 
    $scope.name="Asim"; 
 
    $scope.f1=function(){ 
 
     console.log("i am clicked"); 
 
     $scope.vr="lol"; 
 
    } 
 
    console.log("angular working"); 
 
}]); 
 
</script> 
 

 
<title> Index </title> 
 
</head> 
 
<body ng-controller="MyController"> 
 
    {{vr}} 
 
    {{name}} 
 
    <button ng-click="f1()">Click me</button> 
 
</body> 
 
</html>

+0

Nein, siehe meine app.js und index.html sind in verschiedenen Dateien. – Asim

+0

In einer Datei funktioniert es gut, ich weiß das. – Asim

+0

Dann denke ich, Sie 'app.js' Datei ist nicht geladen in HTML-Tag vielleicht versuchen '' oder ' ' –