|      Symbols With the ALT key    plus numbers 
  |          Symbols With the ALT key    plus numbers 
  |    
Hope this helps.
Arun 
|      Symbols With the ALT key    plus numbers 
  |          Symbols With the ALT key    plus numbers 
  |    
Hope this helps.
Arun 
This is a brief write-up on the Angular JS introduction. Here  we'll see details on below:
1.      AngularJS Expressions
2.      AngularJS Controllers
3.      AngularJS Objects
4.      AngularJS Arrays
5.      AngularJS Filters
6.      AngularJS XMLHttpRequest - $http
7.      AngularJS Tables
8.      AngularJS SQL
9.      AngularJS HTML DOM
10.  AngularJS Events
11.  AngularJS Modules
12.  AngularJS Forms
13.  AngularJS Input Validation
14.  AngularJS BootStrap
AngularJS Directives
AngularJS extends HTML with ng-directives.
Ø  The ng-app directive defines an AngularJS application.
Ø  The ng-model directive binds the HTML (value of HTML controls (input,  select, textarea)) to application data.
The  ng-model directive can also:
Ø  Provide type validation for application data (number, email,  required).
Ø  Provide status for application data (invalid, dirty, touched,  error).
Ø  Provide CSS classes for HTML elements.
Ø  Bind HTML elements to HTML forms.
Ø  The ng-bind directive binds application data to the HTML  view. 
Ø  The  ng-init  directive initialize AngularJS application variables.
Ø  The ng-repeat directive  repeats an HTML element.
Ø   The ng-disabled directive binds  application data directly  to the HTML disabled attribute. 
Ø   The ng-show  directive hides or shows an HTML element.
Ø   The ng-click  directive defines an AngularJS click event.
Ø   The ng-show  directive defines the visibility of an application.
In Other Words:
AngularJS starts automatically when the web page has loaded.
The ng-app directive tells AngularJS that the <div>  element is the "owner" of an AngularJS application.
The ng-model directive binds the value of the input field  to the application variable name.
The ng-bind directive binds the innerHTML of the  <p> element to the application variable name. 
<!DOCTYPE html>
<html>
<body>
<div ng-app=""   ng-init="name ='John'" > 
<p>Input something in the  input box:</p>
<p>Name: <input  type="text" ng-model="name" value="  "></p>
<p ng-bind="name"></p>
</div>
<script  src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
</body>
</html>
AngularJS Expressions
AngularJS expressions are written inside double braces: {{ expression }}.
AngularJS expressions binds data to HTML the same way as the  ng-bind directive.
AngularJS will "output" data exactly where the  expression is written.
AngularJS expressions are much like JavaScript  expressions: They can contain literals, operators, and variables.
<!DOCTYPE html>
  <html>
  <body>
  <div ng-app="">
    <p>My first expression: {{ 5 + 5 }} </p>
  </div>
<div ng-app=""  ng-init="quantity=1; cost=5">
  <p>Total in dollar: {{  quantity * cost }}</p>
  </div> 
<div ng-app="" ng-init="firstName='John';lastName='Doe'">
  <p>The name is {{ firstName + " " + lastName }}</p>
  </div> 
  <script  src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
  </body>
  </html>
AngularJS Controllers
AngularJS applications are controlled by controllers.  
The ng-controller directive defines the controller.
The controller code will execute when the page loads.
A controller is a JavaScript Object, created by a  standard JavaScript object constructor.
The $scope  of the controller is the application (the HTML element) it is referred from.
<div ng-app="" ng-controller="personController">
  
  First Name: <input type="text"  ng-model="firstName"><br>
  Last Name: <input type="text" ng-model="lastName"><br>
  <br>
  Full Name: {{firstName + " " + lastName}}
  
  </div>
  
  <script>
  function personController($scope) {
      $scope.firstName = "John";
      $scope.lastName = "Doe";
  }
  </script> 
------------------------------------------------------------
Controller Properties
<div ng-app="" ng-controller="personController">
  
  First Name: <input type="text"  ng-model="person.firstName"><br>
  Last Name: <input type="text"  ng-model="person.lastName"><br>
  <br>
  Full Name: {{person.firstName + " " + person.lastName}}
  
  </div>
  
  <script>
  function personController($scope) {
      $scope.person = {
          firstName: "John",
          lastName: "Doe"
      };
  }
  </script> 
Application explained:
Ø  The ng-controller directive names the controller object  - personcontroller
Ø  The function personController is a standard  JavaScript object constructor.
Ø  The personcontroller object has one property: $scope.person.
Ø  The person object has two properties: firstName  and lastName.
Ø  The ng-model directives binds the input fields to  the controller properties (firstName and lastName).
------------------------------------------------------------
Controller Methods:
<div ng-app="" ng-controller="personController">
  First Name: <input type="text"  ng-model="person.firstName"><br>
  Last Name: <input type="text" ng-model="person.lastName"><br>
  <br>
  Full Name: {{person.fullName()}}
  
  </div>
  
  <script>
  function personController($scope)  {
      $scope.person = {
          firstName: "John",
          lastName: "Doe",
          fullName: function() {
              var x;
              x =  $scope.person;
              return  x.firstName + " " + x.lastName;
          }
      };
  }
  </script> 
------------------------------------------------------------
Controller In External  Files:
<div ng-app=""  ng-controller="personController">
  First Name: <input type="text"  ng-model="person.firstName"><br>
  Last Name: <input type="text"  ng-model="person.lastName"><br>
  <br>
  Full Name: {{person.firstName + " " + person.lastName}}
  </div>
  <script src="personController.js"></script>  
------------------------------------------------------------
<div ng-app=""  ng-controller="namesController">
  
  <ul>
    <li ng-repeat="x in names">
      {{ x.name + ', ' + x.country }}
    </li>
  </ul>
  
  </div>
  
  <script src="namesController.js"></script> 
namesController.js
function namesController($scope) {
      $scope.names = [
          {name:'Jani',country:'Norway'},
          {name:'Hege',country:'Sweden'},
          {name:'Kai',country:'Denmark'}
      ];
  }
------------------------------------------------------------
AngularJS Objects
<div ng-app="" ng-init="person={firstName:'John',lastName:'Doe'}">
  <p>Last name is {{ person.lastName }}</p>
<p>First name is  <span ng-bind="person. firstName "></span></p>
  </div> 
AngularJS Arrays
<div ng-app="" ng-init="points=[1,15,19,2,40]">
  <p>The points are {{ points[2]}}</p>
  </div> 
------------------------------------------------------------
<div ng-app="" ng-init="names=['Jani','Hege','Kai']">
    <ul>
      <li ng-repeat="x  in names">
        {{ x }}
      </li>
    </ul>
  <div>
------------------------------------------------------------
// Array of Objects
<div ng-app=""  ng-init="names=[
  {name:'Jani',country:'Norway'},
  {name:'Hege',country:'Sweden'},
  {name:'Kai',country:'Denmark'}]">
  
  <ul>
    <li ng-repeat="x  in names">
      {{ x.name + ', ' + x.country }}
    </li>
  </ul>
  </div> 
------------------------------------------------------------
AngularJS Filters
AngularJS filters can be used to transform data:
A filter can be added to an expression with a pipe character (|) and a  filter.
|      Filter  |          Description  |    
|      currency  |          Format a number to a currency format.  |    
|      filter  |          Select a subset of items from an array.  |    
|      lowercase  |          Format a string to lower case.  |    
|      uppercase  |          Format a string to upper case.  |    
|      orderBy  |          Orders an array by an expression.  |    
<div ng-app=""  ng-controller="personController">
  <p>The name is {{ person.lastName | uppercase }}</p>
  </div> 
------------------------------------------------------------
<div ng-app=""  ng-controller="costController">
  <input type="number" ng-model="quantity">
  <input type="number" ng-model="price">
  <p>Total = {{ (quantity * price) | currency }}</p>
  </div> 
------------------------------------------------------------
<div ng-app=""  ng-controller="namesController">
  <ul>
    <li ng-repeat="x in names | orderBy:'country'">
      {{ x.name + ', ' + x.country }}
    </li>
  </ul>
  <div> 
------------------------------------------------------------
<div ng-app=""  ng-controller="namesController">
  
  <p><input type="text"  ng-model="name"></p>
  <ul>
    <li ng-repeat="x in names | filter:name | orderBy:'country'">
      {{ (x.name | uppercase) + ', ' + x.country }}
    </li>
  </ul>
  </div> 
Output: 
   KAI, Denmark 
   JANI, Norway 
   HEGE, Sweden
AngularJS XMLHttpRequest -  $http
AngularJS $http  is a service for reading data from web servers. 
$http.get(url) is the function to use for reading server data. 
<!DOCTYPE html>
<html>
<body>
<div ng-app=""  ng-controller="customersController"> 
<ul>
  <li  ng-repeat="x in customers">
    {{ x.Name  + ', ' + x.Country }}
  </li>
</ul>
</div>
<script>
function  customersController($scope,$http) {
  $http.get("http://www.w3schools.com//website/Customers_JSON.php")
   .success(function(response) {$scope.customers= response;});
}
</script>
<script  src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
</body>
</html>
AngularJS Tables
Just use below, inplace of  <ul> in above example
<table>
    <tr ng-repeat="x  in customers ">
      <td>{{ x.Name }}</td>
      <td>{{ x.Country }}</td>
    </tr>
  </table>
<table>
    <tr ng-repeat="x  in customers | orderBy  : 'Country'">
      <td>{{ x.Name }}</td>
      <td>{{ x.Country | uppercase}}</td>
    </tr>
  </table>
AngularJS SQL
The code from the previous details AngularJS XMLHttpRequest -  $http,  can also be used to read from databases.
http://www.w3schools.com/angular/angular_sql.asp
AngularJS HTML DOM
The ng-disabled  directive binds application data directly to the HTML disabled attribute. 
<div  ng-app="">
  <p>
  <input type="checkbox" ng-model="mySwitch">Button
  <button ng-disabled="mySwitch">Click  Me!</button>
  </p>
<p>
Value Of Checkbox Is: {{  mySwitch }}
</p>
</div>
  </div> 
------------------------------------------------------------
The ng-show  directive hides or shows an HTML element.
<div  ng-app="">
  <p ng-show="true">I  am visible.</p>
  <p ng-show="false">I am not visible.</p>
  </div> 
You can use an expression that evaluates to true or false (like  ng-show="hour < 12"), to hide and show HTML elements
<div  ng-app="">
<div ng-app=""  ng-init="quantity=5">
  <p ng-show="  quantity ==5 ">I am visible.</p>
  <p ng-show=" quantity >5 ">I am not visible.</p>
  </div> 
AngularJS Events
The ng-click  directive defines an AngularJS click event.
<div ng-app=""  ng-controller="myController">
  <button ng-click="count  = count + 1">Click me!</button>
  <p>{{ count }}</p>
  
  </div>
The ng-show  directive defines the visibility of an application.
·          The value  ng-show="true" (boolean value) makes the element visible.
·          The value  ng-show="false" makes the element invisible.
<div  ng-app="" ng-controller="eventController">
  <button ng-click="toggle()">Toggle</button>
  
  <p ng-show="myVar">
  First Name: <input type="text"  ng-model="person.firstName"><br>
  Last Name: <input type="text"  ng-model="person.lastName"><br>
  <br>
  Full Name: {{person.firstName + " " + person.lastName}}
  </p>
<script src="  CommonController.js"></script>
  </div>
AngularJS Modules
http://www.w3schools.com/angular/angular_modules.asp
AngularJS Forms
An AngularJS form is a collection of input  controls.
HTML Controls:
HTML input elements are called HTML controls:
·          input elements
·          select elements
·          button elements
·          textarea elements
HTML Forms:
HTML forms group HTML controls together.
<div ng-app=""  ng-controller="formController">
    <form  novalidate>
      First Name:<br>  <input type="text"  ng-model="user.firstName"><br>
      Last Name:<br>  <input type="text"  ng-model="user.lastName">
      <br><br>
      <button  ng-click="reset()">RESET</button>
    </form>
    <p>form = </p>
    <p>master = </p>
<script src="  CommonController.js"></script>
  </div>
AngularJS Input Validation
AngularJS forms and controls can provide validation services, and  notify users of invalid input.
<!DOCTYPE  html>
  <html> 
  
  <body>
  <h2>Validation Example</h2>
  
  <form  ng-app=""  ng-controller="  validateController " name="myForm" novalidate>
  
  <p>Username:<br>
    <input type="text" name="user"  ng-model="user" required>
    <span style="color:red" ng-show="myForm.user.$dirty &&  myForm.user.$invalid">
    <span ng-show="myForm.user.$error.required">Username is  required.</span>
    </span>
  </p>
  
  <p>Email:<br>
    <input type="email" name="email"  ng-model="email" required>
    <span style="color:red" ng-show="myForm.email.$dirty &&  myForm.email.$invalid">
    <span ng-show="myForm.email.$error.required">Email is  required.</span>
    <span ng-show="myForm.email.$error.email">Invalid email  address.</span>
    </span>
  </p>
  
  <p>
    <input type="submit"
    ng-disabled="myForm.user.$dirty && myForm.user.$invalid ||
    myForm.email.$dirty && myForm.email.$invalid">
  </p>
  
  </form>
<script src="  CommonController.js"></script>
</body>
  </html> 
AngularJS BootStrap
Note: 
·          Bootstrap is a free collection  of tools for creating websites and web applications. 
·          It contains HTML and CSS-based  design templates for typography, forms, buttons, navigation and other interface  components, as well as optional JavaScript extensions.
Twitter Bootstrap is the preferred style sheet for AngularJS Bootstrap.
Below is a complete HTML example, with all AngularJS directives  and Bootstrap classes explained.
To include Twitter Bootstrap in your AngularJS application, add  the following line to your <head> element:
<link rel="stylesheet"  href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
Note: Check Attached - AngularBootStrap.JPG (For Form Design)
<!DOCTYPE html>
  <html ng-app="">
  <head>
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
  </head>
  
  <body ng-controller="userController">
  <div class="container">
  
  <h2>Bootstrap Demo</h2>
  -------------------------------------------------------------
  <table class="table table-striped">
    <thead>
    <tr>
      <th>Edit</th>
      <th>First Name</th>
      <th>Last Name</th>
    </tr>
    </thead>
  <tbody>
    <tr ng-repeat="user  in users">
      <td>
        <button class="btn" ng-click="editUser(user.id)">
        <span class="glyphicon  glyphicon-pencil"></span>  Edit
        </button>
      </td>
      <td>{{ user.fName }}</td>
      <td>{{ user.lName }}</td>
    </tr>
  </tbody>
  </table>
  -------------------------------------------------------------
  <hr>
  <button class="btn btn-success" ng-click="editUser('new')">
  <span class="glyphicon  glyphicon-user"></span>  Create New User
  </button>
  <hr>
  -------------------------------------------------------------
  <h3 ng-show="edit">Create  New User:</h3>
  <h3 ng-hide="edit">Edit  User:</h3>
  
  <form class="form-horizontal">
    <div class="form-group">
    <label class="col-sm-2 control-label">First  Name:</label>
    <div class="col-sm-10">
      <input type="text" ng-model="fName" ng-disabled="!edit"  placeholder="First Name">
    </div>
    </div> 
    <div class="form-group">
    <label class="col-sm-2 control-label">Last  Name:</label>
    <div class="col-sm-10">
      <input type="text" ng-model="lName"  ng-disabled="!edit" placeholder="Last Name">
    </div>
    </div>
    <div class="form-group">
    <label class="col-sm-2  control-label">Password:</label>
    <div class="col-sm-10">
      <input type="password"  ng-model="passw1" placeholder="Password">
    </div>
    </div>
    <div class="form-group">
    <label class="col-sm-2  control-label">Repeat:</label>
    <div class="col-sm-10">
      <input type="password"  ng-model="passw2" placeholder="Repeat Password">
    </div>
    </div>
  </form>
  -------------------------------------------------------------
  <hr>
  <button class="btn btn-success" ng-disabled="error || incomplete">
  <span class="glyphicon  glyphicon-save"></span>  Save Changes
  </button>
  </div>
  -------------------------------------------------------------
  <script src = "http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
  <script src = "myUsers.js"></script>
<script src="  CommonController.js"></script>
  </body>
  </html>>
Bootstrap Classes Explained:
|      Element  |          Bootstrap Class  |          Defines  |    
|      <div>  |          container  |          A content container  |    
|      <table>  |          table  |          A table  |    
|      <table>  |          table-striped  |          A striped table  |    
|      <button>  |          btn  |          A button  |    
|      <button>  |          btn-success  |          A success button  |    
|      <span>  |          glyphicon  |          A glyph icon  |    
|      <span>  |          glyphicon-pencil  |          A pencil icon  |    
|      <span>  |          glyphicon-user  |          A user icon  |    
|      <span>  |          glyphicon-save  |          A save icon  |    
|      <form>  |          form-horizontal  |          A horizontal form  |    
|      <div>  |          form-group  |          A form group   |    
|      <label>  |          control-label  |          A control label  |    
|      <label>  |          col-sm-2  |          A 2 columns span  |    
|      <div>  |          col-sm-10  |          A 10 columns span  |    
Below is the  CommonController.js file, used in all above examples:
CommonController.js:
<script>
function personController($scope)  {
     $scope.person = {
         firstName: "John",
         lastName: "Doe",
         fullName: function() {
             var x;
             x = $scope.person;
             return x.firstName + " " + x.lastName;
         }
    };
}
function namesController($scope) {
     $scope.names = [
         {name:'Jani',country:'Norway'},
         {name:'Hege',country:'Sweden'},
         {name:'Kai',country:'Denmark'}
    ];
}
function costController($scope) {
     $scope.quantity = 1;
     $scope.cost = 5;
}
function customersController($scope,$http)  {
  $http.get("http://www.w3schools.com//website/Customers_JSON.php")
  .success(function(response)  {
                 $scope.customers= response;
               });
}
  function eventController($scope)  {
      $scope.person = {
          firstName: "John",
          lastName: "Doe"
      };
      $scope.myVar = true;
      $scope.toggle = function() {
          $scope.myVar = !$scope.myVar;
      };
  }
function formController ($scope) {
      $scope.master = {firstName: "John", lastName:  "Doe"};
      $scope.reset = function() {
          $scope.user =  angular.copy($scope.master);
      };
      $scope.reset();
  };
function validateController($scope)  {
      $scope.user = 'John Doe';
      $scope.email = 'john.doe@gmail.com';
  }
function userController($scope) {
  $scope.fName = '';
  $scope.lName = '';
  $scope.passw1 = '';
  $scope.passw2 = '';
  $scope.users  = [
  {id:1, fName:'Hege',  lName:"Pege" },
  {id:2, fName:'Kim',   lName:"Pim" },
  {id:3, fName:'Sal',   lName:"Smith" },
  {id:4, fName:'Jack',  lName:"Jones" },
  {id:5, fName:'John',  lName:"Doe" },
  {id:6, fName:'Peter', lName:"Pan" }
  ];
  $scope.edit = true;
  $scope.error = false;
  $scope.incomplete = false; 
  
  $scope.editUser = function(id) {
    if (id == 'new') {
      $scope.edit = true;
      $scope.incomplete = true;
      $scope.fName = '';
      $scope.lName = '';
      } else {
      $scope.edit = false;
      $scope.fName = $scope.users[id-1].fName;
      $scope.lName = $scope.users[id-1].lName; 
    }
  };
  
  $scope.$watch('fName', function() {$scope.test();});
  $scope.$watch('lName', function() {$scope.test();});
$scope.$watch('passw1',function()  {$scope.test();});
  $scope.$watch('passw2',function() {$scope.test();});
  
  //Note: $scope.watch    -  Watches model variables
  $scope.test = function() {
    if ($scope.passw1 !== $scope.passw2) {
      $scope.error = true;
      } else {
      $scope.error = false;
    }
    $scope.incomplete = false;
    if ($scope.edit && (!$scope.fName.length ||
    !$scope.lName.length ||
    !$scope.passw1.length || !$scope.passw2.length)) {
         $scope.incomplete = true;
    }
  };
  }
</script> 
Hope this helps.
Regards,
Arun Manglick