ব্যবহার
::ng-deep
, >>>
এবং /deep/
নির্দিষ্ট সিএসএস নিয়মের জন্য ভিউ এনক্যাপসুলেশনকে অক্ষম করুন, অন্য কথায় এটি আপনাকে ডিওএম উপাদানগুলিতে অ্যাক্সেস দেয় যা আপনার উপাদানগুলির এইচটিএমএলে নেই। উদাহরণস্বরূপ, আপনি যদি কৌণিক উপাদান (বা অন্য কোনও তৃতীয় পক্ষের লাইব্রেরি) ব্যবহার করে থাকেন তবে কিছু উত্পন্ন উপাদানগুলি আপনার উপাদানগুলির ক্ষেত্রের বাইরে রয়েছে (যেমন ডায়ালগ ) এবং আপনি সেই উপাদানগুলিতে সরাসরি বা নিয়মিত সিএসএস ব্যবহার করতে পারবেন না উপায় আপনি যদি এই উপাদানগুলির শৈলী পরিবর্তন করতে চান তবে আপনি এই তিনটি জিনিসের একটি ব্যবহার করতে পারেন, উদাহরণস্বরূপ:
::ng-deep .mat-dialog {
}
আপাতত কৌণিক দল কেবলমাত্র এমওলিয়েটেড ভিউ এনক্যাপসুলেশন দিয়ে "গভীর" ম্যানিপুলেশনগুলি তৈরি করার পরামর্শ দেয় ।
অবকাশ
"গভীর" হেরফেরের আসলে অবচিত খুব, কিন্তু এটি এখন জন্য কাজ স্থির, কারণ কৌণিক প্রাক প্রক্রিয়াকরণ সমর্থন করে (প্রত্যাখ্যান করার নলখাগড়া না ::ng-deep
, আজ কটাক্ষপাত করা থামিয়ে দেওয়া চর্চা প্রথম)।
যাইহোক, এই উপায় অনুসরণ করার আগে, আমি আপনাকে ভিউ এনক্যাপসুলেশন পদ্ধতির অক্ষম করার দিকে নজর দেওয়ার পরামর্শ দিই (এটিও আদর্শ নয়, এটি আপনার স্টাইলগুলি অন্যান্য উপাদানগুলিতে ফাঁস হতে দেয়) তবে কিছু ক্ষেত্রে এটি আরও ভাল উপায়। আপনি যদি ভিউ এনক্যাপসুলেশন নিষ্ক্রিয় করার সিদ্ধান্ত নিয়ে থাকেন তবে সিএসএস বিধি ছেদ এড়ানোর জন্য নির্দিষ্ট ক্লাস ব্যবহার করার জন্য দৃ strongly়ভাবে সুপারিশ করা হয় এবং শেষ পর্যন্ত আপনার স্টাইলশীটগুলিতে কোনও গোলমাল এড়ানো উচিত। উপাদানটির .ts
ফাইলটিতে ডান অক্ষম করা সত্যিই সহজ :
@Component({
selector: '',
template: '',
styles: [''],
encapsulation: ViewEncapsulation.None
})
আপনি এই নিবন্ধে ভিউ এনক্যাপসুলেশন সম্পর্কে আরও তথ্য সন্ধান করতে পারেন ।
/deep/
এবং::ng-deep
উভয়ই অবহেলিত, আমি আপনাকে এই উত্তরটি stackoverflow.com/a/49308475/2275011 এবং আরও বিশদ এবং সমাধানের জন্য মন্তব্যগুলি অবলম্বন করার পরামর্শ দিচ্ছি ।