AngularJS Modules
ЁЯФН AngularJS рдореЗрдВ Module рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?
AngularJS рдореЗрдВ Module рдПрдХ container (рдбрд┐рдмреНрдмрд╛) рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдЕрдкрдиреЗ application рдХреЗ parts (рдЬреИрд╕реЗ controllers, services, filters, directives рдЖрджрд┐) рдХреЛ logically organize рдХрд░рддреЗ рд╣реИрдВред
рдЖрд╕рд╛рди рднрд╛рд╖рд╛ рдореЗрдВ: рдПрдХ module рдЖрдкрдХреЗ рдкреВрд░реЗ AngularJS app рдХрд╛ “main box” рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА building blocks рд░рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВред
ЁЯза рдХреНрдпреЛрдВ рдЬрд╝рд░реВрд░реА рд╣реИрдВ Modules?
- App рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдмрд╛рдБрдЯрдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ
- Code рдХреЛ manage рдФрд░ reuse рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ
- Maintenance рдФрд░ testing рдмреЗрд╣рддрд░ рд╣реЛрддреА рд╣реИ
тЬНя╕П Syntax:
var app = angular.module("myApp", []);
"myApp"
тЖТ рдЖрдкрдХреЗ рдРрдк рдХрд╛ рдирд╛рдо[]
тЖТ dependency array (рдЗрд╕рдореЗрдВ рдЕрднреА рдХреЛрдИ external module рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛)
ЁЯУД Simple HTML + JS Example:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<title>AngularJS Modules</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
<script>
var app = angular.module("myApp", []);
</script>
</head>
<body>
<h2>Welcome to My App!</h2>
</body>
</html>
ЁЯФН Explanation:
ng-app="myApp"
тЖТ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ AngularJS App рдХрд╛ рдирд╛рдоmyApp
рд╣реИ- рд╣рдо JS рдореЗрдВ рднреА
"myApp"
рдирд╛рдо рд╕реЗ рдПрдХ module create рдХрд░ рд░рд╣реЗ рд╣реИрдВ
тЪЩя╕П Module рдореЗрдВ Controller рдЬреЛрдбрд╝рдирд╛
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.name = "Amit";
});
</script>
</head>
<body ng-controller="myCtrl">
<h2>Hello, {{ name }}</h2>
</body>
</html>
тЬЕ Output:
Hello, Amit
ЁЯТб Multiple Modules рдмрдирд╛рдирд╛
рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдХрдИ рдЫреЛрдЯреЗ modules рдмрдирд╛рдХрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ main module рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рдмрдбрд╝реА apps рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рд╣реЛрддрд╛ рд╣реИред
var loginModule = angular.module("loginModule", []);
var dashboardModule = angular.module("dashboardModule", []);
var mainApp = angular.module("mainApp", ["loginModule", "dashboardModule"]);
ЁЯзк Module рдХреЗ Use-Cases:
Module рдирд╛рдо | Use |
---|---|
ngRoute | Routing рдХреЗ рд▓рд┐рдП |
ngAnimate | Animation рдХреЗ рд▓рд┐рдП |
ngResource | RESTful APIs рд╕реЗ connect рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП |
рдЗрди modules рдХреЛ dependencies рдореЗрдВ add рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ:
angular.module("myApp", ["ngRoute", "ngAnimate"]);
ЁЯза рдЕрднреНрдпрд╛рд╕ (Exercise)
- AngularJS module рдХрд╛ syntax рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?
ng-app="myApp"
рдФрд░angular.module("myApp", [])
рдореЗрдВ рдХреНрдпрд╛ рд╕рдВрдмрдВрдз рд╣реИ?- рдХреНрдпрд╛ рдПрдХ AngularJS application рдореЗрдВ multiple modules рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ?
тЬЕ рдЖрдкрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛?
- AngularJS Module рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХреНрдпреЛрдВ рдЬрд╝рд░реВрд░реА рд╣реИ
- Module рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
- Module рдореЗрдВ controller рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ
- Dependency injection рдФрд░ рдЫреЛрдЯреЗ modules рдХреИрд╕реЗ use рд╣реЛрддреЗ рд╣реИрдВ
ЁЯОп рдЕрдм рдЖрдк AngularJS application structure рдХреЛ рд╕рдордЭрдиреЗ рд▓рдЧреЗ рд╣реИрдВред