Models and views
In AngularJS, a model could be a primitive, a hash table, or a JavaScript object. The data from the model can be displayed in the view using the {{ }}
expression.
Models can be defined in multiple ways. Like we saw in the first example, we can define the model within the ng-init
directive. It can be created in the template within the expression as follows:
<button ng-click="firstName='John Doe' ">click </button>
Alternatively, it could also be created within a controller using the scope, which is the ideal way to do it. Refer to the following code:
<!DOCTYPE html> <html ng-app> <head> <title>Model in Scope</title> </head> <body ng-controller="PeopleController"> {{person.name}} lives in {{person.city}} <script src="angular.min.js" type="text/javascript"></script> <script type="text/javascript"> function PeopleController($scope) { $scope.person = { name: "John Doe", city: "New York" } } </script> </body> </html>
In the preceding example, we created a controller called PeopleController
and defined the model person, which is storing the data as a hash table. The $scope
is an AngularJS object that is able to reference the JavaScript object model as a property.