কৌণিক 2 এ অতিরিক্ত উপাদান ছাড়াই এনজিআইএফ ব্যবহার করা


107

আমি কি ngIfঅতিরিক্ত ধারক উপাদান ছাড়াই ব্যবহার করতে পারি ?

<tr *ngFor="...">
  <div *ngIf="...">
    ...
  </div>
  <div *ngIf="!...">
    ...
  </div>
</tr>

এটি কোনও টেবিলে কাজ করে না কারণ এটি অবৈধ এইচটিএমএল তৈরি করে।

উত্তর:


169

ng-containerউপর পছন্দ করা হয় template:

<ng-container *ngIf="expression">

দেখা:

কৌণিক 2 এনজি-ধারক

https://github.com/angular/angular.io/issues/2303


এইচটিএমএল <ng-container> উপাদান তৈরি হয় না তা পরিষ্কার করার জন্য আপনার একটি নমুনা "উত্পন্ন" এইচটিএমএল স্নিপেট যুক্ত করা উচিত।
সের্গেই

21

আমি এটির জন্য একটি পদ্ধতি পেয়েছি: https://angular.io/docs/ts/latest/guide/template-syntax.html#!#star-template

আপনি কেবল <template>ট্যাগটি ব্যবহার করতে পারেন এবং এর মতো প্রতিস্থাপন *ngIfকরতে [ngIf]পারেন।

<template [ngIf]="...">
  ...
</template>

ভাল তবে * এনজিআইএফ এরলিফ একটি templateট্যাগ তৈরি করে , ডিফল্ট কৌণিক নির্দেশের উপসর্গ দ্বারা * একটি টেম্পলেট ট্যাগ তৈরি করে। সুতরাং উভয়ই এক[ngIf] and *ngIf
পরদীপ জৈন

1
সঙ্গে *ngIfটেমপ্লেটে ভিতরে একটি উপাদান আছে, যদি আপনাকে না পাই আপনি লিখতে templateনিজেকে। নির্দিষ্ট পরিস্থিতিতে অতিরিক্ত উপাদান হস্তক্ষেপ করতে পারে।
সেগুন

আমরা কি templateভিতরে ট্যাগ লাগাতে পারি tr/ tdট্যাগ?
পঙ্কজ পার্কার

হ্যাঁ এটি এক বিশেষ উপাদান। সংজ্ঞা অনুসারে এটি w3.org/TR/html401/struct/tables.html#h-11.2.3 অনুমোদিত নয় তবে এটি কাজ করবে এবং রেন্ডার করবে। আইএম যদি * এনজিআই ব্যবহার করে তবে এটি বিটিডব্লিউ কাজ করছে না। তবে [এনজিআইফ] দিয়ে এটি করে। আমি জিজ্ঞাসা করতে পারি যদি আপনি আমাকে বলতে পারেন যে এটি কেন?
sascha10000

1
@ sascha10000 কারণ *ngIf="foo"মোড়ক <template [ngIf]="foo">ট্যাগের সমতুল্য । সংক্ষেপে, template+ []== *, তাই []! = *বাদে* যেকোন উপাদানকে বোঝায় । template
ফ্রাঙ্কলিন ইউ

4

আপনি divসরাসরি ভিতরে রাখতে পারবেন না tr, এটি অবৈধ এইচটিএমএল তৈরি করবে। trকেবলমাত্র এতে td/ th/ tableউপাদান থাকতে পারে এবং সেগুলির ভিতরে আপনার অন্যান্য HTML উপাদান থাকতে পারে।

আপনি সামান্য আপনার HTML পরিবর্তন আছে পারে *ngForওভার tbody& আছে ngIfউপর trনিজেই নিচে পছন্দ করি।

<tbody *ngFor="...">
  <tr *ngIf="...">
    ...
  </tr>
  <tr  *ngIf="!...">
    ...
  </tr>
  ..
</tbody>

এটি মূলত সমস্যাটি সমাধান করবে তবে আপনি কারুর সাথে যে মূল ক্ষমতা অর্জন করবেন তা আপনি ট্রেড করবেন। আপনার যদি একটি বড় টেবিল থাকে তবে আপনি মাথাটি ঠিক করতে পারেন একটি মাত্র টবি স্ক্রোল করুন। আপনার টিবিতে টিআর এবং ট্রির ভূমিকা থাকবে একটি অতিরিক্ত র‍্যাপারের ভূমিকা। শীর্ষে মাথা ঠিকঠাক করে ফিক্সিংয়ের প্রয়োজন না থাকলে এটি একটি ব্যবহারিক সমাধান। আমি যা বলেছিলাম তার জন্য আমার রেফারেন্স: w3.org/TR/html401/struct/tables.html#h-11.2.3
sascha10000
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.