0

I already saw many questions about this issue, but I didn't understand the answers that were given. I saw several examples of modules and controllers but when I try it, it is not working.

I copied code from a website to check if it will work for me but it is still not working.

This is the 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()}}

When I debug the code this is what I get:

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

2
  • 1
    Have you actually included Angular JS anywhere in your HTML? Commented Aug 9, 2016 at 15:14
  • please check errors in browser console Commented Aug 9, 2016 at 15:15

3 Answers 3

1

{{user.callMe()}} should be wrapped into the corresponding controller.

<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>

Sign up to request clarification or add additional context in comments.

Comments

0

Your Angular Interpolation was outside your 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>

Comments

0

Your interpolation should be inside controller div and add reference to angular.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>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.