Angular JS Tutorial

AngularJS Includes

ЁЯУМ AngularJS ng-include рдХреНрдпрд╛ рд╣реИ?

AngularJS рдореЗрдВ ng-include directive рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣рдо рдХрд┐рд╕реА external HTML file рдХреЛ рдЕрдкрдиреЗ page рдореЗрдВ include рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред

рдЖрд╕рд╛рди рднрд╛рд╖рд╛ рдореЗрдВ: рдЖрдк рдЕрдкрдиреЗ рдкреЗрдЬ рдХреЗ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ (header, footer, sidebar) рдХреЛ рдЕрд▓рдЧ HTML рдлрд╛рдЗрд▓ рдореЗрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ main рдкреЗрдЬ рдореЗрдВ рд▓рд╛рдХрд░ reuse рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ тАФ рдЬреИрд╕реЗ PHP рдХреА include.


тЬЕ Syntax:

<div ng-include="'filename.html'"></div>

рдзреНрдпрд╛рди рджреЗрдВ: File name quotes рдореЗрдВ рджреЗрдирд╛ рдЬрд░реВрд░реА рд╣реИ (' ' рдпрд╛ " ")


ЁЯФД рдХрдм рдФрд░ рдХреНрдпреЛрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ?

SituationBenefit
Header, Footer рдмрд╛рд░-рдмрд╛рд░ рдЪрд╛рд╣рд┐рдПрдПрдХ рдмрд╛рд░ рдмрдирд╛рдХрд░ рд╣рд░ рдкреЗрдЬ рдореЗрдВ include рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
Code ReusabilitySame HTML рдмрд╛рд░-рдмрд╛рд░ copy рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛
Modular Designрдмрдбрд╝реЗ projects рдореЗрдВ рдЫреЛрдЯреЗ-рдЫреЛрдЯреЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдмрд╛рдБрдЯрдирд╛ рдЖрд╕рд╛рди
Maintainabilityрдмрджрд▓рд╛рд╡ рд╕рд┐рд░реНрдл рдПрдХ file рдореЗрдВ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ

тЬЕ Example 1: Static Include

ЁЯСЙ header.html

<div class="w3-blue w3-padding">
  <h2>Welcome to AngularJS Site</h2>
</div>

ЁЯСЙ main page:

<div ng-app="">
  <div ng-include="'header.html'"></div>
  <p>This is the main content area.</p>
</div>

Output: Header top рдкрд░ include рд╣реЛ рдЬрд╛рдПрдЧрд╛ред


тЬЕ Example 2: Dynamic Include (Variable рд╕реЗ)

<div ng-app="myApp" ng-controller="mainCtrl">
  <select ng-model="template">
    <option value="'home.html'">Home</option>
    <option value="'about.html'">About</option>
  </select>

  <div ng-include="template"></div>
</div>

<script>
var app = angular.module("myApp", []);
app.controller("mainCtrl", function($scope) {
  $scope.template = "'home.html'";
});
</script>

рдЕрдм dropdown рд╕реЗ template рдмрджрд▓рдиреЗ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ content рджрд┐рдЦреЗрдЧрд╛ред


тЪая╕П Important Notes:

  • Include рдХрд░рдиреЗ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓ рдореЗрдВ рд╕рд┐рд░реНрдл HTML рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (script, style рдХреЛ avoid рдХрд░реЗрдВ)
  • Path рд╕рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (relative рдпрд╛ absolute)
  • CORS рдпрд╛ security error рди рдЖрдП рдЗрд╕рд▓рд┐рдП file рдЕрдкрдиреЗ рд╣реА server рд╕реЗ serve рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП

тЬЕ Practical Use Cases:

Use CaseFile
Headerheader.html
Footerfooter.html
Sidebarsidebar.html
User Profileprofile.html
Tabs / Pagesabout.html, contact.html, etc.

ЁЯза рдЕрднреНрдпрд╛рд╕ рдкреНрд░рд╢реНрди (Exercise)

  1. ng-include рдХрд╛ рдХрд╛рдо рдХреНрдпрд╛ рд╣реИ AngularJS рдореЗрдВ?
  2. рдХреНрдпрд╛ рд╣рдо dynamic file рднреА include рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдХреИрд╕реЗ?
  3. рдиреАрдЪреЗ рджрд┐рдП рдЧрдП code рдХрд╛ output рдХреНрдпрд╛ рд╣реЛрдЧрд╛?
<div ng-include="'footer.html'"></div>

тЬЕ рдЖрдкрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛?

  • AngularJS рдореЗрдВ external HTML file рдХреИрд╕реЗ include рдХрд░рддреЗ рд╣реИрдВ
  • ng-include static рдФрд░ dynamic рджреЛрдиреЛрдВ рддрд░реАрдХреЛрдВ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
  • Code reuse, modularity рдФрд░ maintainability рдХрд╛ рдлрд╛рдпрджрд╛
  • Practical examples: header, footer, tabs рдЖрджрд┐

ЁЯОп рдЕрдм рдЖрдк AngularJS рдореЗрдВ рдЕрдкрдирд╛ HTML code smart рддрд░реАрдХрд╝реЗ рд╕реЗ manage рдФрд░ reuse рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ тАФ рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХрд╛ app рдмрди рдЬрд╛рдПрдЧрд╛ professional рдФрд░ maintainable!