ng-include i AngularJS: Hvordan inkludere HTML-fil [Eksempel]
Som standard gir HTML ikke mulighet til รฅ inkludere klientsidekode fra andre filer. Det er normalt en god praksis i et hvilket som helst programmeringssprรฅk รฅ distribuere funksjonalitet pรฅ tvers av ulike filer for alle programmer.
For eksempel, hvis du hadde logikk for numeriske operasjoner, vil du normalt ha denne funksjonaliteten definert i en separat fil. Den separate filen kan deretter gjenbrukes pรฅ tvers av flere applikasjoner ved bare รฅ inkludere den filen.
Dette er vanligvis konseptet Ta med utsagn som er tilgjengelig pรฅ programmeringssprรฅk som .Net og Java.
Denne opplรฆringen ser pรฅ andre mรฅter filer (filer som inneholder ekstern HTML-kode) kan inkluderes i HTML-hovedfilen.
Kundesiden inkluderer
En av de vanligste mรฅtene er รฅ inkludere HTML-kode er via Javascript. JavaScript er et programmeringssprรฅk som kan brukes til รฅ manipulere innholdet pรฅ en HTML-side i farten. Derfor, Javascript kan ogsรฅ brukes til รฅ inkludere kode fra andre filer.
Trinnene nedenfor viser hvordan dette kan oppnรฅs.
Trinn 1) Definer en fil kalt Sub.html og legg til fรธlgende kode i filen.
<div> This is an included file </div>
Trinn 2) Lag en fil kalt Sample.html, som er hovedprogramfilen din, og legg til kodebiten nedenfor.
Nedenfor er hovedaspektene รฅ merke seg om koden nedenfor,
- I body-taggen er det en div-tag som har en ID for innhold. Dette er stedet der koden fra den eksterne filen 'Sub.html' vil bli satt inn.
- Det er en referanse til et jquery-skript. JQuery er et skriptsprรฅk bygget pรฅ toppen av Javascript som gjรธr DOM-manipulering enda enklere.
- pรฅ Javascript funksjon, er det en setning '$(โ#Contentโ).load(โSub.htmlโ);' som gjรธr at koden i filen Sub.html injiseres i div-taggen som har ID-en til Content.
<html> <head> <script src="jquery.js"></script> <script> $(function(){ $("#Content").load("Sub.html"); }); </script> </head> <body> <div id="Content"></div> </body> </html>
Serverside inkluderer
Server Side Includes er ogsรฅ tilgjengelige for รฅ inkludere en felles kodebit pรฅ hele et nettsted. Dette gjรธres vanligvis for รฅ inkludere innhold i delene nedenfor av et HTML-dokument.
- Sideoverskrift
- Sidebunntekst
- Navigasjonsmeny.
For at en webserver skal gjenkjenne en Server Side Includes, har filnavnene spesielle utvidelser. De aksepteres vanligvis av webserveren som .shtml, .stm, .shtm , .cgi.
Direktivet som brukes for รฅ inkludere innhold er "inkluder-direktivet". Et eksempel pรฅ inkluderingsdirektivet er vist nedenfor;
<!--#include virtual="navigation.cgi" -->
- Ovennevnte direktiv tillater at innholdet i ett dokument kan inkluderes i et annet.
- Den "virtuelle" kommandoen over koden brukes til รฅ spesifisere mรฅlet i forhold til domeneroten til applikasjonen.
- Til den virtuelle parameteren er det ogsรฅ filparameteren som kan brukes. "Fil"-parametrene brukes nรฅr man trenger รฅ spesifisere banen i forhold til katalogen til den gjeldende filen.
OBS:
Den virtuelle parameteren brukes til รฅ spesifisere filen (HTML-side, tekstfil, skript osv.) som mรฅ inkluderes. Hvis webserverprosessen ikke har tilgang til รฅ lese filen eller utfรธre skriptet, vil include-kommandoen mislykkes. Det "virtuelle" ordet er et nรธkkelord som mรฅ plasseres i inkluderingsdirektivet.
Hvordan inkludere HTML-fil i AngularJS
Angular gir funksjonen til รฅ inkludere funksjonaliteten fra andre AngularJS-filer ved รฅ bruke ng-include-direktivet.
Hovedformรฅlet med "ng-include-direktivet" brukes til รฅ hente, kompilere og inkludere et eksternt HTML-fragment i AngularJS-hovedapplikasjonen.
La oss se pรฅ kodebasen nedenfor og forklare hvordan dette kan oppnรฅs ved รฅ bruke Angular.
Trinn 1) la oss skrive koden nedenfor i en fil som heter Table.html. Dette er filen som vil bli injisert i hovedapplikasjonsfilen vรฅr ved รฅ bruke ng-include-direktivet.
Kodebiten nedenfor antar at det er en omfangsvariabel kalt "opplรฆring". Den bruker deretter ng-repeat-direktivet, som gรฅr gjennom hvert emne i "Tutorial"-variabelen og viser verdiene for nรธkkelverdiparet 'navn' og 'beskrivelse'.
<table>
<tr ng-repeat="Topic in tutorial">
<td>{{ Topic.Name }}</td>
<td>{{ Topic.Country }}</td>
</tr>
</table>
Trinn 2) la oss skrive koden nedenfor i en fil som heter Main.html. Dette er en enkel angular.JS-applikasjon som har fรธlgende aspekter
- Bruk "ng-include-direktivet" for รฅ injisere koden i den eksterne filen 'Table.html'. Uttalelsen er uthevet med fet skrift i koden nedenfor. Sรฅ div-taggen ' ' erstattes av hele koden i 'Table.html'-filen.
- I kontrolleren opprettes en "tutorial"-variabel som en del av $scope-objektet. Denne variabelen inneholder en liste over nรธkkelverdi-par.
I vรฅrt eksempel er nรธkkelverdiparene
- Navn โ Dette angir navnet pรฅ et emne som kontroller, modeller og direktiver.
- Description โ Dette gir en beskrivelse av hvert emne
Opplรฆringsvariabelen er ogsรฅ tilgjengelig i 'Table.html'-filen.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Event Registration</title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
</head>
<body ng-app="sampleApp">
<div ng-controller="AngularController">
<h3> Guru99 Global Event</h3>
<div ng-include="'Table.html'"></div>
</div>
<script>
var sampleApp = angular.module('sampleApp',[]);
sampleApp.controller('AngularController', function($scope) {
$scope.tutorial =[
{Name: "Controllers" , Description : "Controllers in action"},
{Name: "Models" , Description : "Models and binding data"},
{Name: "Directives" , Description : "Flexibility of Directives"}
];
});
</script>
</body>
</html>
Nรฅr du utfรธrer koden ovenfor, vil du fรฅ fรธlgende utgang.
Produksjon:
Sammendrag
- Som standard vet vi at HTML ikke gir en direkte mรฅte รฅ inkludere HTML-innhold fra andre filer som andre programmerings sprรฅk.
- Javascript sammen med JQuery er det best foretrukne alternativet for รฅ bygge inn HTML-innhold fra andre filer.
- En annen mรฅte รฅ inkludere HTML innhold fra andre filer er รฅ bruke direktivet og nรธkkelordet for virtuell parameter. Det virtuelle parameternรธkkelordet brukes til รฅ angi filen som mรฅ bygges inn. Dette er kjent som server-side inkluderer.
- Angular gir ogsรฅ muligheten til รฅ inkludere filer ved รฅ bruke ng-include-direktivet. Dette direktivet kan brukes til รฅ injisere kode fra eksterne filer direkte inn i HTML-hovedfilen.

