বেশিরভাগ ক্ষেত্রে আপনি ব্যবহার করতে চাইবেন {static: false}
। এটিকে সেট করে নেওয়ার ফলে বেইন্ডিং রেজোলিউশনের উপর নির্ভরশীল কোয়েরি মিলগুলি (কাঠামোগত নির্দেশাবলীর মতো *ngIf, etc...
) সন্ধান করা হবে।
কখন ব্যবহার করবেন তার উদাহরণ static: false
:
@Component({
template: `
<div *ngIf="showMe" #viewMe>Am I here?</div>
<button (click)="showMe = !showMe"></button>
`
})
export class ExampleComponent {
@ViewChild('viewMe', { static: false })
viewMe?: ElementRef<HTMLElement>;
showMe = false;
}
static: false
আরো কৌণিক 9. পড়ুন ডিফল্ট ফলব্যাক আচরণের হতে যাচ্ছে এখানে এবং এখানে
{ static: true }
বিকল্প মাছি এম্বেড মতামত তৈরি সমর্থন করার জন্য চালু করা হয়। আপনি যখন গতিশীলভাবে একটি ভিউ তৈরি করছেন এবং অ্যাক্সেস করতে চান TemplateRef
, আপনি এটি করতে সক্ষম হবেন না ngAfterViewInit
কারণ এটি ExpressionHasChangedAfterChecked
ত্রুটির কারণ হবে । স্থির পতাকাটিকে সত্যে সেট করা এনজিওনিটিতে আপনার দৃষ্টিভঙ্গি তৈরি করবে।
তা সত্ত্বেও:
অন্যান্য ক্ষেত্রে, সবচেয়ে ভাল অনুশীলনটি ব্যবহার করা {static: false}
।
{ static: false }
বিকল্পটি কৌণিক 9 এ ডিফল্ট করা হবে যদিও সচেতন হন । যার অর্থ আপনি static: true
বিকল্পটি ব্যবহার করতে না চাইলে স্থির পতাকা স্থাপনের আর প্রয়োজন হয় না ।
আপনি ng update
আপনার বর্তমান কোড বেসটি স্বয়ংক্রিয়ভাবে আপগ্রেড করতে কৌণিক ক্লাইম কমান্ডটি ব্যবহার করতে পারেন ।
মাইগ্রেশন গাইড এবং এ সম্পর্কিত আরও তথ্যের জন্য আপনি এখানে এবং এখানে চেক করতে পারেন
স্থির এবং গতিশীল প্রশ্নের মধ্যে পার্থক্য কী?
@ ভিউচিল্ড () এবং @ কনটেন্টচিল্ড () প্রশ্নের জন্য স্থিতিশীল বিকল্প কোয়েরির ফলাফল কখন উপলভ্য হবে তা নির্ধারণ করে।
স্ট্যাটিক ক্যোয়ারী (স্থিতিশীল: সত্য) দিয়ে, ভিউটি তৈরি হয়ে গেলে ক্যোয়ারীটি সমাধান হয়ে যায়, তবে পরিবর্তন সনাক্তকরণ চলার আগেই। এনজিআইএফ এবং এনজিফোর্ড ব্লকগুলিতে পরিবর্তনগুলির মতো আপনার দর্শন পরিবর্তনগুলি প্রতিফলিত করতে ফলাফলটি কখনই আপডেট হবে না।
ডায়নামিক ক্যোয়ারী (স্থির: মিথ্যা) এর সাথে, কোয়েরিটি @ ভিউচিল্ড () এবং @ কনটেন্টচিল্ড () এর জন্য যথাক্রমে এনজিএফটারভিউআইনিট () বা এনজিএফটারকন্টেন্টআইনিট () এর পরে সমাধান হয়েছে। আপনার ভিউতে পরিবর্তনের জন্য ফলাফল আপডেট করা হবে, যেমন এনজিআইএফ এবং এনজিফোর্ড ব্লকগুলিতে পরিবর্তন।