نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
AN

منهج Angular

دليل مرجعي شامل

كل اللغات
مدرسة البرمجة/منهج Angular /استقبال البيانات من المكون الأب باستخدام المدخلات

استقبال البيانات من المكون الأب باستخدام المدخلات

ستقبال البياناتالمدخلات التقليدية@Input decoratorتمرير الخصائصAngular22.1

جدول مرجعي سريع

1
معيار المقارنة الهندسيةالخصائص الداخلية (Internal Properties)المدخلات القادمة من الأب (@Input API)
مصدر البيانات وقيمتهاتُعرَّف وتُدار بالكامل داخل صنف المكون الحاليتُستقبل وتُجلب حصرياً من المكون الأب الخارجي
إمكانية التعديل والتغييرتُعدل بحرية داخل المكون عبر الدوال أو الأساليب البرمجيةتُعتبر للقراءة فقط داخل المكون الفرعي غالباً للحفاظ على تدفق البيانات
التوثيق والاعتماديةتخص المكون وحده ولا تتأثر بالخارجتعتمد على استقبال الخصائص عبر القوالب باستخدام الأقواس المربعة ([property])

الشرح

نواصل التقدم في الفصل السابع من المنهاج الهندسي لأحدث إصدارات Angular 22.1، لنتناول في هذا الدرس الثاني استقبال البيانات من المكون الأب باستخدام المدخلات. في العمارة التقليدية لأنجولر، يُعد مزخرف المدخلات (@Input) الأداة الأساسية لاستقبال البيانات والخصائص القادمة من المكونات الأب إلى المكونات الفرعية، مما يتيح بناء واجهات قابلة لإعادة الاستخدام ومرنة للغاية.

تفصيل فلسفة وعمل المدخلات التقليدية (@Input)

الربط الخارجي للخصائص (Property Binding):

يتيح مزخرف @Input() للمكون الفرعي فتح منافذ استقبال تربط بياناته بمتغيرات المكون الأب. عندما تتغير القيمة في الأب، تنعكس تلقائياً داخل الابن عبر دورة حياة المكون.

التحديد الإلزامي والخياري للبيانات:

يمكن تهيئة المدخلات بقيم افتراضية أو جعلها مطلوبة لمنع الأخطاء البرمجية وضمان تمرير البيانات الحيوية بدقة عند إنشاء المكون.

أمثلة برمجية: صنف الـ TypeScript للمكون الفرعي باستخدام @Input

المثال الأول: استقبال البيانات في المكون الفرعي

typescript
1import { Component, Input } from '@angular/core';
2
3@Component({
4 selector: 'app-user-profile-card',
5 standalone: true,
6 templateUrl: './user-profile-card.component.html',
7 styleUrl: './user-profile-card.component.css'
8})
9export class UserProfileCardComponent {
10 // استقبال اسم المستخدم من المكون الأب بالطريقة التقليدية
11 @Input() userName: string = 'مستخدم غير معروف';
12 @Input() userRole: string = 'زائر';
13}

أمثلة برمجية: قالب العرض HTML الخاص بالمكون الفرعي

المثال الثاني: قالب HTML لعرض البيانات المستقبلة

html
1<div class="profile-card">
2 <h4>بطاقة بيانات المستخدم الفرعية</h4>
3 <p>اسم المستخدم: <strong>{{ userName }}</strong></p>
4 <p>الدور الوظيفي: <span class="role-badge">{{ userRole }}</span></p>
5</div>

أمثلة برمجية: ملف التنسيق CSS الخاص بالمكون الفرعي

المثال الثالث: ملف الـ CSS لتنسيق البطاقة

css
1.profile-card {
2 background: #1e293b;
3 color: #f8fafc;
4 padding: 16px;
5 border-radius: 8px;
6 border: 1px solid #334155;
7 margin-top: 10px;
8}
9
10.role-badge {
11 background: #0284c7;
12 color: white;
13 padding: 2px 8px;
14 border-radius: 4px;
15 font-size: 0.9rem;
16}

أمثلة برمجية: إرسال البيانات من المكون الأب

المثال الرابع: صنف المكون الأب الذي يمرر البيانات للابن

typescript
1import { Component } from '@angular/core';
2import { UserProfileCardComponent } from './user-profile-card.component';
3
4@Component({
5 selector: 'app-main-dashboard',
6 standalone: true,
7 imports: [UserProfileCardComponent],
8 template: `
9 <div class="dashboard">
10 <h3>لوحة القيادة الرئيسية (الأب)</h3>
11
12 <!-- تمرير البيانات للابن باستخدام الأقواس المربعة -->
13 <app-user-profile-card
14 [userName]="currentUser"
15 [userRole]="currentRole">
16 </app-user-profile-card>
17 </div>
18 `
19})
20export class MainDashboardComponent {
21 currentUser = 'أحمد المهندس';
22 currentRole = 'مطور برمجيات رئيسي';
23}

نصائح احترافية

  • —افهم الجذور التقليدية قبل الانتقال للحديث!
  • —على الرغم من أن أنجولر 22.1 يدعم الإشارات الحديثة بشكل كامل، إلا أن فهم مزخرف @Input التقليدي ضروري جداً لصيانة المشاريع القديمة وفهم التطور التاريخي لهيكلة تدفق البيانات في إطار عمل أنجولر.

الدرس السابق

نظرة عامة على طرق التواصل

الدرس التالي

استقبال البيانات المعتمدة على الإشارات

نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر