67. استخدام متغيرات الإشارة المحلية للتفاعل
لقد رأينا سابقاً متغيرات الإشارة المحلية (#input) تشير إلى عناصر DOM. يمكن استخدامها أيضاً للإشارة مباشرة إلى مثيلات مكونات الابن ضمن قالب الأب، مما يسمح للأب باستدعاء أساليب عامة على الابن.
السيناريو: الأب يستدعي أسلوب الابن
تخيل أن VideoPlayerComponent (الابن) يحتاج إلى أسلوب play() عام يريد VideoDashboardComponent (الأب) تشغيله عبر زر.
1. تحديد الأسلوب العام في الابن
typescript // video-player.component.ts (الابن) export class VideoPlayerComponent { isPlaying: boolean = false;
play(): void { this.isPlaying = true; console.log('Video playing...'); } }
2. تحديد الإشارة واستدعاء الأسلوب في قالب الأب
يقوم قالب الأب بتعيين متغير إشارة إلى وسم مكون الابن، مما يتيح الوصول إلى مثيل المكون.
html
<app-video-player #player>
<button (click)="player.play()"> Start Video
Video Status: Running
متى تستخدم هذا النمط؟
هذه الطريقة فعالة لاستدعاء إجراءات أمرية بسيطة على الابن (على سبيل المثال، reset()، focus()، open()). لتمرير البيانات أو إدارة الحالة المعقدة، يظل @Input/@Output أو الخدمات هي المفضلة.