AngularJS ScopeThe scope is the binding part between the HTML (view) and the JavaScript (controller). A scope is an object with available properties and methods. The scope is available for both View and Controller. When you create a controller in AngularJS, you pass the $scope object as an argument: ExampleProperties made in the controller can be referenced in the view: When adding properties to the $scope object in the controller, the view (HTML) gets access to these properties. In the view, you do not use the prefix $scope, and you refer to a property name, like {{carname}}. Understanding the ScopeIf we consider including an AngularJS application: Controller, which is a JavaScript function that creates/changes/deletes/controls data. Then there is the scope model. A scope is a JavaScript object with properties and methods available to both the view and the controller. Example If you make changes in the view, the model and the controller will be updated: The two examples above only have one scope, so knowing your scope isn't a problem, but the HTML DOM may contain sections that only have access to certain scopes for larger applications. Example When working with the ng-repeat directive, each iteration has access to the current iteration object: Each <li> element has access to the current iteration object, in this case, a string, which is referenced using x. root scope Each <li> element has access to the current iteration object, in this case, a string, which is referenced using x. Root scopeAll applications have a $rootScope, the scope created on the HTML element containing the ng-app directive. RootScope is available throughout the application. If a variable has the same name in both the current scope and the rootScope, the application uses the one in the current scope. Example A variable named "color" exists in both the controller's scope and the rootScope: Next Topic# |