fb pixel
გამოიწერე YouTube-ის არხიyoutube logoგამოწერა
val-do.com-ის ლოგო
კურსებიბლოგიხ.დ.კ.წესებიკონტაქტიკონვერტორები

კურსებიბლოგიხ.დ.კ.წესებიკონტაქტიკონვერტორები
შესვლა
  1. მთავარი
  2. კურსები
  3. Angular-ის კურსი
  4. ng-container ელემენტი ანგულარში
ng-container ელემენტი ანგულარში

ng-container ელემენტი ანგულარში

ანგულარის სპეციფიკიდან გამოდინარე ხშირად გვაქვს შემთხვევები, როდესაც გვესაჭიროება სტრუქტურული დირექტივის გამოყენება, მაგრამ არ გვჭირდება დამატებითი ელემენტის დარენდერება.

სწორედ ამ პრობლემის მოგვარების საშუალებას გვთავაზობს ng-container ელემენტი.

პრობლემის გასააზრებლად შევქმნათ ობიექტების მასივი და ვეცადოთ მის დარენდერებას *ngFor სტრუქტურული დირექტივის დახმარებით.

app.component.ts

import { Component, OnInit } from '@angular/core';
interface Data {
  id: string;
  name: string;
}
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
  public data: Data[] = [
    { id: '1', name: 'Val do' },
    { id: '2', name: 'Jon doe' },
    { id: '3', name: 'Lorem name' },
  ];
  constructor() {}
  ngOnInit(): void {}
}

app.component.html

<div *ngFor="let el of data">
    {{ el.name }}
</div>

მოცემული მეთოდით დარენდერებისას დოკუმენტში ასევე დარენდერდება ყოველ ჯერზე div ელემენტი, რომელიც ჩვენთვის არა სასურველი ელემენტია, სწორედ ასეთი შემთხვევას აგვარიდებს ng-container-ის გამოყენება.

თუ div თეგს ჩავანაცვლებთ ng-container-ით ბრაუზერში დარენდერდება მხოლოდ {{ el.name }} მნიშვნელობები და არა დამატებითი არასასურველი html სელექტორი

მაგალითი

<ng-container *ngFor="let el of data">
    {{ el.name }}
</ng-container>

ასევე ანგულარის სპეციფიკიდან გამომდინარე ერთ ელემენტზე არ შეგვიძლია გამოვიყენოთ რამდენიმე სტრუქტურული დირექტივა.

მოდი გავაკეთოთ მაგალითი. წარმოვიდგინოთ, რომ *ngFor სტრუქტურული დირექტივით უნდა დავბეჭდოთ მხოლოდ ის ელემენტი რომელსაც id აქვს 2-ის მნიშვნელობის ტოლი. ჩვენ თუ ვეცდებით მსგავს ჩანაწერს

<ng-container *ngFor="let el of data" *ngIf="el.id == '2'">
    {{ el.name }}
</ng-container>

მივიღებთ შეცდომას, რადგან არ შეგვიძლია რამდენიმე სტრუქტურული დირექტივის ერთ სელექტორში გამოყენება, შესაბამისად გვრჩება შემდეგი გზა.

<ng-container *ngFor="let el of data">
    <div *ngIf="el.id == '2'">{{ el.name }}</div>
</ng-container>

რომელიც წარმატებით ამოხსნის ჩვენს პრობლემას, მაგრამ აქ ბრაუზერში ისევ გვექნება არასასურველი div სელექტორი, სწორედ ამის მოსაგვარებლად აქაც შეგვიძლია div ელემენტის ng-container-ით ჩანაცვლება, რომელიც თავიდან აგვარიდებს ზედმეტი ელემენტის დაგენერირებას

<ng-container *ngFor="let el of data">
    <ng-container *ngIf="el.id == '2'">{{ el.name }}</ng-container>
</ng-container>

კურსში შემავალი თემები

🔗 Angular

დამატებითი რესურსები

  • Telegram
  • Discord

სხვა კატეგორიები

შეისწავლეთ ვებდეველოპმენტის ენები სრულიად უფასოდ, ისეთები როგორებიცაა Javascript, HTML, CSS და კიდევ სხვა მრავალი ენა

HTML, CSS-ის სა...

HTML, CSS-ის საწყისი კურსი, დამწყებთათვის (deprecated - მოძველებული)

ჯავასკრიპტის კუ...

ჯავასკრიპტის კურსი

JavaScript-ის D...

JavaScript-ის DOM-ის კურსი

TypeScript-ის კ...

TypeScript-ის კურსი

Angular-ის კურს...

Angular-ის კურსი

HTML, CSS-ის კუ...

HTML, CSS-ის კურსი

Reactjs-ის კურს...

Reactjs-ის კურსი დამწყებთათვის

ალგორითმები...

ალგორითმები

Node.js-ის კურს...

Node.js-ის კურსი

Dart-ის კურსი...

Dart-ის კურსი

C პროგრამირების...

C პროგრამირების ენის საფუძვლები

ბოლოს დაწერილი ბლოგები პროგრამირებაზე

ქვემოთ მოცემულია უახლესი 3 ბლოგი პროგრამირების თემატიკასთან დაკავშირებით

როგორ ინახება ი...

როგორ ინახება ინფორმაცია. რა არის Bit და Byte?

რატომ არის კომფ...

რატომ არის კომფორტული სამუშაო ოთახი აუცილებელი კოდის წერისა და პროდუქტიული მუშაობისთვის?

რატომ ვერ პოულო...

რატომ ვერ პოულობენ ჯუნიორები სამსახურს?

  • Angular, ლოკალური გარემოს გამართვა
  • პროექტის ინციალიზაცია Angular-ში
  • Angular-ის პროექტის სტრუქტურა
  • პირველი Hello world აპლიკაცია Angular-ში
  • რა არის encapsulation-ი Angular-ში
  • @Input() დეკორატორი, angular-ში (ანგულარი)
  • @Output დეკორატორი ანგულარში (Angular)
  • Content projection ანგულარში (Angular)
  • კომპონენტების სიცოცხლის ციკლის ჰუკები (Angular lifcycle hooks)
  • ng-container ელემენტი ანგულარში
  • სტრუქტურული დირექტივები *ngIf *ngFor
პროგრამირების კურსები
HTML, CSSJavaScriptTypeScriptAngularReactJSNodeJSC
გამომყევი
InstagramFacebookLinkedinTelegramDiscordYoutubeGithub

© val-do.com 2026 წელი - ყველა უფლება დაცულია

ვერსია 0.1.52