2016-08-09 30 views
0

Ich sah bereits viele Fragen zu diesem Thema, aber ich habe die Antworten nicht verstanden, die gegeben wurden. Ich habe einige Beispiele für Module und Controller gesehen, aber wenn ich es versuche, funktioniert es nicht.

Ich kopierte Code von einer Website, um zu überprüfen, ob es für mich funktioniert, aber es funktioniert immer noch nicht.

Dies ist der Code:

var myapp = angular.module("myapp", []); 
 
myapp.controller("HelloCtrl", function($scope) { 
 
    $scope.user = { 
 
    name: "name123", 
 
    nickName: "nickName123", 
 

 
    callMe: function() { 
 
     var userObject = $scope.user; 
 
     return userObject.name + " Known as " + userObject.nickName; 
 
    } 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myapp"> 
 
    <div ng-controller="HelloCtrl"> 
 
    <!--הטופס--> 
 
    First Name: 
 
    <input type="text" ng-model="user.name" /> 
 
    <br />Last Name: 
 
    <input type="text" ng-model="user.nickName" /> 
 
    <br /> 
 

 
    </div> 
 
</div> 
 
{{user.callMe()}}

Wenn ich den Code debuggen das ist, was ich bekommen:

Screenshot of web form that has '{{user.callMe()}}' below the form fields.

+1

Haben Sie Angular JS irgendwo in Ihrem HTML-Code enthalten? – Ankh

+0

Bitte überprüfen Sie die Fehler in der Browser-Konsole –

Antwort

0

Ihre Angular Interpolation war vor der Angular App ;-)

var myapp = angular.module("myapp", []); 
 
myapp.controller("HelloCtrl",function($scope){ 
 
    $scope.user = { 
 
     name: "name123", 
 
     nickName: "nickName123", 
 

 
     callMe: function(){ 
 
      console.log('called'); 
 
     var userObject = $scope.user; 
 
     return userObject.name + " Known as " + userObject.nickName; 
 
     } 
 
    }; 
 
}); 
 

 
angular.element(document).ready(function() { 
 
    angular.bootstrap(document.querySelector('#app'), ['myapp']); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script> 
 

 
<div id="app" ng-controller="HelloCtrl"> 
 
     <!--הטופס--> 
 
     First Name:<input type="text" ng-model="user.name" /> 
 
     <br /> 
 
     Last Name:<input type="text" ng-model="user.nickName" /> 
 
     <br /> 
 
{{user.callMe()}} 
 
</div>

+0

Danke !!!! :) –

1

{{user.callMe()}} sollte in den entsprechenden Controller gewickelt werden .

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.12/angular.min.js"></script> 
 
<div ng-app="myapp"> 
 
    <div ng-controller="HelloCtrl"> 
 
    <!--הטופס--> 
 
    First Name: 
 
    <input type="text" ng-model="user.name" /> 
 
    <br />Last Name: 
 
    <input type="text" ng-model="user.nickName" /> 
 
    <br />{{user.callMe()}} 
 
    </div> 
 
</div> 
 

 
<script> 
 
    var myapp = angular.module("myapp", []); 
 
    myapp.controller("HelloCtrl", function($scope) { 
 
    $scope.user = { 
 
     name: "name123", 
 
     nickName: "nickName123", 
 

 
     callMe: function() { 
 
     var userObject = $scope.user; 
 
     return userObject.name + " Known as " + userObject.nickName; 
 
     } 
 
    }; 
 
    }); 
 
</script>

0

Ihre Interpolation innerhalb Controller div sein sollte und der Bezug auf Winkel hinzufügen. js

<div ng-app="myapp"> 
     <div ng-controller="HelloCtrl"> 
      <!--הטופס--> 
      First Name:<input type="text" ng-model="user.name" /> 
      <br /> 
      Last Name:<input type="text" ng-model="user.nickName" /> 
      <br /> 
      {{user.callMe()}} 
     </div> 
    </div> 
    <script src="Scripts/angular.min.js"></script> 
    <script> 
     var myapp = angular.module("myapp", []); 
     myapp.controller("HelloCtrl", function ($scope) { 
      $scope.user = { 
       name: "name123", 
       nickName: "nickName123", 

       callMe: function() { 
        var userObject = $scope.user; 
        return userObject.name + " Known as " + userObject.nickName; 
       } 
      }; 
     }); 
    </script>