1

ich folgenden Code haben:Warum erscheint der Ausdruck wie in AngularJS Beispiel?

<!DOCTYPE html> 
<html> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
<body> 

    <p>Try to change the names.</p> 

    <div ng-app="myApp"> 

    First Name: <input type="text" ng-model="firstName"><br> 
    Last Name: <input type="text" ng-model="lastName"><br> 
    <br> 


    Full Name: {{firstName + " " + lastName}} 

    </div> 

</body> 
</html> 

Der Ausgang des obigen Code in einem Browser wie unten:

Exact output in a browser

Full Name: {{firstName + " " + lastName}} 

Meine Frage ist, warum die Ausdrücke, wie es erscheinen wird ?

+0

Es scheint, dass Sie keinen Controller deklariert haben. – rrd

+0

Buddy, wo ist dein [ng-Controller] (https://docs.angularjs.org/api/ng/directive/ngController) – sisyphus

Antwort

2

Sie nicht registrieren der Angul Ein Modul, an dem der Angular von diesem Startpunkt aus bootet.

<script> 
angular.module("myApp",[]) 
</script> 

Und initialisieren Sie mit diesem Modul die ng-app-Direktive.

<div ng-app="myApp"> 
</div> 
2

Da Sie keine eckige App namens myApp definiert haben, müssen Sie die ng-app Direktive ohne Wert definieren. ng-app="myApp" sollte ng-app

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script> 
 
<!DOCTYPE html> 
 
<html> 
 

 
<body> 
 
    <p>Try to change the names.</p> 
 
    <div ng-app> 
 
    First Name: 
 
    <input type="text" ng-model="firstName"> 
 
    <br>Last Name: 
 
    <input type="text" ng-model="lastName"> 
 
    <br> 
 
    <br>Full Name: {{firstName + " " + lastName}} 
 
    </div> 
 
</body> 
 

 
</html>

sein Wenn Sie ein separates Winkelmodul haben müssen, Sie mögen unter

var app = angular.module("myApp", []);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script> 
 
<!DOCTYPE html> 
 
<html> 
 

 
<body> 
 
    <p>Try to change the names.</p> 
 
    <div ng-app="myApp"> 
 
    First Name: 
 
    <input type="text" ng-model="firstName"> 
 
    <br>Last Name: 
 
    <input type="text" ng-model="lastName"> 
 
    <br> 
 
    <br>Full Name: {{firstName + " " + lastName}} 
 
    </div> 
 
</body> 
 

 
</html>
tun können

+0

Welchen Unterschied macht es, wenn ich den Wert der ng-app-Direktive vermeide? – user2839497

+0

Es ist nicht zu vermeiden, Sie haben keine eckige App namens myApp definiert, so dass Sie nicht verwenden können. – Sankar

0

Sie haben in der Datei ejs keinen Controller definiert.

fügen Sie ng-controller zusammen mit ng-app hinzu und definieren Sie diesen Controller in Ihrer eckigen App.

<div ng-app="myApp" ng-controller="myCtrl"> 

definieren Controller im angular App wie folgt aus:

var app = angular.module("myApp",[]); 

app.controller('myCtrl',function($scope){ 
    ... 
}); 

Hope this Ihnen hilft.