diff --git a/index.html b/index.html index 08fdb9b..fbc4b1c 100644 --- a/index.html +++ b/index.html @@ -546,7 +546,7 @@
TypeScript یک ابر مجموعه تایپ های جاوا اسکریپت هستش که توسط مایکروسافت ساخته شده که انواع تایپ های optional، class ها، async/wait و خیلی ویژگی های دیگه رو اضافه می کنه و به جاوا اسکریپت ساده کامپایل می کنه. Angular به طور کامل در TypeScript ساخته شده و به عنوان زبان اصلی استفاده می شه.
+
TypeScript یک ابر مجموعه تایپ های جاوا اسکریپت هستش که توسط مایکروسافت ساخته شده که انواع تایپ های optional، class ها، async/wait و خیلی ویژگی های دیگه رو اضافه می کنه و به جاوا اسکریپت ساده کامپایل می کنه. Angular به طور کامل تو TypeScript ساخته شده و به عنوان زبان اصلی استفاده می شه.
ما می تونیم اونو به صورت گلوبال نصب کنیم
npm install -g typescript
@@ -1684,7 +1684,7 @@ .
body.innerHTML = greeter(user);
-متد greeter فقط تایپ string را به عنوان آرگومان اجازه میده.
+متد greeter فقط تایپ string رو به عنوان آرگومان اجازه میده.
directive ها رفتاری رو به یه کامپوننت DOM موجود یا یک نمونه جزء موجود اضافه می کنن.
+directive ها رفتاری رو به یه کامپوننت DOM موجود یا یه المنت موجود Dom اضافه می کنن.
import { Directive, ElementRef, Input } from '@angular/core'; @@ -1717,15 +1717,15 @@} -}
این directive رفتار عنصر HTML را با پسزمینه زرد رو اینطوری پیاده سازی میکنه
+این directive رفتار عنصر HTML رو با پسزمینه زرد رو اینطوری پیاده سازی میکنه
<p myHighlight>Highlight me!</p>- +
کامپوننت ها اساسی ترین بلوک سازنده رابط کاربری یک برنامه Angular هستن که درختی از اجزای Angular را تشکیل هستن. این مؤلفه ها زیر مجموعه دستورالعمل ها هستت. برخلاف دستورات، کامپوننتها همیشه دارای یک الگون و تنها یک جزء رو میشه به ازای هر عنصر در قالب نمونهسازی کرد.
+
کامپوننت ها اساسی ترین بلوک سازنده رابط کاربری یک برنامه Angular هستن که درختی از اجزای Angular رو تشکیل هستن. این مؤلفه ها زیر مجموعه directive ها هست. برخلاف دستورات، کامپوننتها همیشه دارای یک الگون و تنها یک جزء رو میشه به ازای هر عنصر تو قالب نمونهسازی کرد.
یک مثال ساده از کامپوننت Angular رو ببینیم
import { Component } from '@angular/core'; @@ -1756,7 +1756,7 @@template چیه؟
-یک template یک نمای HTML هس که در آن می تونیم داده ها را با اتصال کنترل ها به ویژگی های یک جزء Angular نشون بدیم. می توانید الگوی جزء خود را در یکی از دو مکان ذخیره کنیم. می تونیم با استفاده از ویژگی template آن را به صورت درون خطی تعریف کینم یا می تونیم قالب را در یک فایل HTML جداگانه تعریف کنیم و با استفاده از ویژگی templateUrl@Component decorator به آن در ابرداده کامپوننت پیوند بدیم.
+یک template یک نمای HTML هس که توی اون می تونیم داده ها رو با اتصال کنترل ها به ویژگی های یک جزء Angular نشون بدیم. می تونیم الگوی جزء خودمون رو تو یکی از دو مکان ذخیره کنیم. می تونیم با استفاده از ویژگی template اون رو به صورت درون خطی تعریف کینم یا می تونیم قالب رو توی یک فایل HTML جداگانه تعریف کنیم و با استفاده از ویژگی templateUrl@Component decorator به اون تو ابرداده کامپوننت پیوند بدیم.
Using inline template with template syntax,
import { Component } from '@angular/core'; @@ -1817,7 +1817,7 @@ماژول چیه؟
ماژول ها مرزهای منطقی تو برنامه هستن و برنامه به ماژول های جداگانه تقسیم می شن که عملکرد برنامه رو از هم جدا کنن.
+بیاین مثالی از app.module.ts ماژول core رو که با دکوراتور @NgModule بزنیم.
-بیاین مثالی از app.module.ts ماژول core را که با دکوراتور @NgModule بزنیم.import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; @@ -1835,54 +1835,54 @@فهرست
Angular مجموعه کاملی از فرآیندها را طی می کند یا از زمان شروع تا پایان برنامه یک lifecycle دارد.
+
Angular مجموعه کاملی از فرآیندها رو طی می کنه یا از زمان شروع تا پایان برنامه یک lifecycle دارد.
نمایش lifecycle رو متونیم تو شکل زیر ببینیم:
ngOnChanges: هنگامی که مقدار یک ویژگی داده محدود تغییر می کند، این روش فراخوانی می شود.
ngOnInit: هر زمان که مقداردهی اولیه دستور/کامپوننت پس از نمایش Angular برای اولین بار خصوصیات داده محدود اتفاق بیفتد، فراخوانی می شود.
ngOnChanges: هنگامی که مقدار یک ویژگی داده محدود تغییر می کنه این روش فراخوانی می شه.
ngOnInit: هر زمان که مقداردهی اولیه دستور/کامپوننت پس از نمایش Angular برای اولین بار خصوصیات داده محدود اتفاق بیفتد، فراخوانی می شه.
ngDoCheck: این برای تشخیص و اعمال تغییراتی است که Angular به تنهایی قادر به تشخیص آنها نیست یا نخواهد بود.
ngAfterContentInit: پس از اینکه Angular محتوای خارجی را در نمای کامپوننت پروژه می دهد، در پاسخ به این امر فراخوانی می شود.
ngAfterContentChecked: این در پاسخ پس از بررسی Angular محتوای پیش بینی شده در کامپوننت فراخوانی می شود.
ngAfterViewInit: پس از اینکه Angular نماهای کامپوننت و نماهای فرزند را مقدار دهی اولیه کرد، در پاسخ فراخوانی می شود.
ngAfterViewChecked: این در پاسخ پس از بررسی Angular نماهای کامپوننت و نماهای فرزند فراخوانی می شود.
ngAfterContentInit: پس از اینکه Angular محتوای خارجی را در نمای کامپوننت پروژه میده، در پاسخ به این امر فراخوانی می شه.
ngAfterContentChecked: این در پاسخ پس از بررسی Angular محتوای پیش بینی شده در کامپوننت فراخوانی می شه.
ngAfterViewInit: پس از اینکه Angular نماهای کامپوننت و نماهای فرزند را مقدار دهی اولیه کرد، در پاسخ فراخوانی می شه.
ngAfterViewChecked: این در پاسخ پس از بررسی Angular نماهای کامپوننت و نماهای فرزند فراخوانی می شه.
ngOnDestroy: این مرحله پاکسازی درست قبل از اینکه Angular دستور/کامپوننت را از بین ببرد است.
Data binding یک مفهوم اصلی در Angular است و امکان تعریف ارتباط بین یک مؤلفه و DOM را فراهم می کند و تعریف برنامه های تعاملی را بدون نگرانی در مورد فشار دادن و کشیدن داده ها بسیار آسان می کند. چهار شکل اتصال داده وجود دارد (به 3 دسته تقسیم می شود) که در نحوه جریان داده ها متفاوت است.
+Data binding یک مفهوم اصلی در Angular است و امکان تعریف ارتباط بین یک مؤلفه و DOM رو فراهم میکنه و تعریف برنامه های تعاملی رو بدون نگرانی در مورد فشار دادن و کشیدن داده ها بسیار آسان میکنه. چهار شکل اتصال داده وجود دارد (به 3 دسته تقسیم می شه) که در نحوه جریان داده ها متفاوت است.
From the Component to the DOM:
Interpolation: {{ value }}: مقدار یک ویژگی را از جزء اضافه می کند
+Interpolation: {{ value }}: مقدار یک ویژگی رو از جزء اضافه می کنه
<li>Name: {{ user.name }}</li> <li>Address: {{ user.address }}</li>-
Property binding: [property]=”value”: مقدار از کامپوننت به ویژگی مشخص شده یا ویژگی ساده HTML منتقل می شود.
+Property binding: [property]=”value”: مقدار از کامپوننت به ویژگی مشخص شده یا ویژگی ساده HTML منتقل می شه.
<input type="email" [value]="user.email">
<button (click)="logout()"></button>
<input type="email" [(ngModel)]="user.email"> @@ -1890,10 +1890,10 @@فهرست
متادیتا برای تزئین یک کلاس استفاده می شود تا بتواند رفتار مورد انتظار کلاس را پیکربندی کند. ابرداده توسط دکوراتورها نمایش داده می شود
+metadata برای تزئین یک کلاس استفاده میشه تا بتونه رفتار مورد انتظار کلاس را پیکربندی کنه. metadata توسط دکوراتورها نمایش داده می شه
Class decorators, به عنوان مثال، @Component و @NgModule
Class decorators, برای مثال، @Component و @NgModule
import { NgModule, Component } from '@angular/core'; @@ -1920,7 +1920,7 @@}
Property decorators برای ویژگی های داخل کلاس ها استفاده می شود، به عنوان مثال. @import و export
Property decorators برای ویژگی های داخل کلاس ها استفاده می شه برای مثال. @import و export
import { Component, Input } from '@angular/core'; @@ -1936,7 +1936,7 @@}
Method decorators برای متدهای داخل کلاس ها استفاده می شود، به عنوان مثال. @HostListener
Method decorators برای متدهای داخل کلاس ها استفاده می شه برای مثال. @HostListener
import { Component, HostListener } from '@angular/core'; @@ -1953,7 +1953,7 @@}
Parameter decorators برای پارامترهای داخل سازنده کلاس استفاده می شود، به عنوان مثال. @Inject، اختیاری
Parameter decorators برای پارامترهای داخل سازنده کلاس استفاده می شه برای مثال. @Inject، اختیاری
import { Component, Inject } from '@angular/core'; @@ -1969,43 +1969,43 @@} - +}
Angular CLI (** Command Line Interface**) یک رابط خط فرمان برای ساخت داربست و ساخت برنامه های زاویه ای با استفاده از ماژول های سبک nodejs (commonJs) است.
+
Angular CLI (Command Line Interface) یک رابط خط فرمان برای ساخت چارچوب مشخص و ساخت برنامه های انگولار با استفاده از ماژول های استایل nodejs (commonJs) است.
شما باید با استفاده از دستور زیر npm نصب کنید،
npm install @angular/cli@latest-
در زیر لیستی از چند دستور وجود دارد که هنگام ایجاد پروژه های زاویه ای به کار می آیند
+لیست زیر لیستی از چند دستور که هنگام ایجاد پروژه های انگولار ای به کار میان آورده شده
Creating New Project: ng new
ساخت یه پروژه: ng new
Generating Components, Directives & Services: ng generate/g
-انواع مختلف دستورات عبارتند از
ساخت Component ها, Directive ها و Service ها: ng generate/g
+انواع مختلف دستورات
ng generate class my-new-class: یک کلاس به برنامه خود اضافه کنید
ng تولید کامپوننت my-new-component: یک جزء به برنامه خود اضافه کنید
ng generate directive my-new-directive: یک دستورالعمل به برنامه خود اضافه کنید
ng generate enum my-new-enum: یک enum به برنامه خود اضافه کنید
ng generate module my-new-module: یک ماژول به برنامه خود اضافه کنید
تولید لوله my-new-pipe: یک لوله به برنامه خود اضافه کنید
ng generate service my-new-service: یک سرویس به برنامه خود اضافه کنید
ng generate class my-new-class: یک کلاس به برنامه خودتون اضافه کنین
ng تولید کامپوننت my-new-component: یک کامپوننت به برنامه خودتون اضافه کنین
ng generate directive my-new-directive: یک directive به برنامه خودتون اضافه کنین
ng generate enum my-new-enum: یک enum به برنامه خودتون اضافه کنین
ng generate module my-new-module: یک ماژول به برنامه خودتون اضافه کنین
تولید لوله my-new-pipe: یک pipe به برنامه خودتون اضافه کنین
ng generate service my-new-service: یک service به برنامه خودتون اضافه کنین
Running the Project: ng serve
+برای اجرای پروژه: ng serve
کلاس های TypeScript دارای یک روش پیش فرض به نام سازنده است که معمولاً برای هدف اولیه استفاده می شود. در حالی که روش ngOnInit مختص Angular است، به ویژه برای تعریف اتصالات Angular استفاده می شود. حتی اگر سازنده ابتدا فراخوانی میشود، ترجیح داده میشود همه اتصالات Angular خود را به متد ngOnInit منتقل کنید.
-برای استفاده از ngOnInit، باید رابط OnInit را به صورت زیر پیاده سازی کنید.
کلاس های TypeScript دارای یک روش پیش فرض به نام constructor هستش که معمولاً برای هدف اولیه استفاده می شه. در حالی که روش ngOnInit مختص Angular است، به ویژه برای تعریف اتصالات Angular استفاده می شه. حتی اگه constructor ابتدا فراخوانی میشه، ترجیح داده میشه همه اتصالات Angular خود را به متد ngOnInit منتقل کنین.
+برای استفاده از ngOnInit، باید رابط OnInit را به صورت زیر پیاده سازی میشه.
export class App implements OnInit{ constructor(){ @@ -2021,8 +2021,8 @@-service چیه؟
-یک سرویس زمانی استفاده می شود که یک عملکرد مشترک باید به ماژول های مختلف ارائه شود. سرویسها به شما اجازه میدهند تا نگرانیهای مربوط به برنامه شما را بیشتر از هم جدا کرده و ماژولاریت بهتری داشته باشید، زیرا به شما امکان میدهد عملکردهای مشترک را از اجزا استخراج کنید.
-بیایید یک repoService ایجاد کنیم که می تواند در بین اجزاء مورد استفاده قرار گیرد،
+یه service زمانی استفاده می شه که یک عملکرد مشترک باید به ماژول های مختلف انجام شه. سرویسها به شما اجازه میده تا نگرانیهای مربوط به برنامه شما را بیشتر از هم جدا و ساختار ماژولاریت بهتری داشته باشین، چون به شما امکان میده عملکردهای مشترک رو از اجزا خارج کنین.
+بیاین یه repoService ایجاد کنیم که می تونه بین کامپوننت ها استفاده شه
import { Injectable } from '@angular/core'; import { Http } from '@angular/http'; @@ -2040,12 +2040,12 @@}}
سرویس فوق از سرویس Http به عنوان یک وابستگی استفاده می کند.
+سرویس بالا از سرویس Http به عنوان یک وابستگی استفاده می کنه.
تزریق وابستگی (DI)، یک الگوی طراحی برنامه مهم است که در آن یک کلاس به جای ایجاد وابستگی از منابع خارجی درخواست میکند. Angular با چارچوب تزریق وابستگی خود برای حل وابستگی ها (سرویس ها یا اشیایی که یک کلاس برای انجام عملکرد خود به آن نیاز دارد) ارائه می شود. بنابراین می توانید خدمات خود را در سراسر برنامه به سرویس های دیگر وابسته کنید.
+dependency injection(DI)، یک الگوی طراحی برنامه مهمیه که تو اون یه کلاس به جای ایجاد dependency از منابع خارجی درخواست کنه. Angular با چارچوب dependency injection خود برای حل dependency ها (سرویس ها یا اشیایی که یک کلاس برای انجام عملکرد خود به آن نیاز داره) ارائه می شه. بنابراین می تونین service هاتون رو تو کل برنامه به سرویس های دیگر وابسته کنین.
AsyncPipe مشترک یک قابل مشاهده یا قول می شود و آخرین مقداری را که منتشر کرده است برمی گرداند. هنگامی که یک مقدار جدید منتشر می شود، لوله مؤلفه ای را که باید بررسی شود برای تغییرات علامت گذاری می کند.
-بیایید یک زمان قابل مشاهده را در نظر بگیریم که به طور مداوم نما را برای هر 2 ثانیه با زمان فعلی به روز می کند.
+AsyncPipe مشترک یک قابل مشاهده یا قول می شه و آخرین مقداری رو که منتشر کرده برمی گردونه. هنگامی که یه مقدار جدید منتشر می شه، pipe مؤلفه ای رو که باید بررسی شه برای تغییرات علامت گذاری می کنه.
+بیاین یک زمان قابل مشاهده را در نظر بگیریم که به طور مداوم نما را برای هر 2 ثانیه با زمان فعلی به روز می کنه.
@Component({ selector: 'async-observable-pipe', @@ -2072,8 +2072,8 @@بین فایل template داخلی و خارجی کدومو باید انتخاب کرد؟
-می توانید الگوی جزء خود را در یکی از دو مکان ذخیره کنید. می توانید آن را به صورت درون خطی با استفاده از ویژگی template تعریف کنید، یا می توانید الگو را در یک فایل HTML جداگانه تعریف کنید و با استفاده از ویژگی templateUrl در decorator @Component به آن در ابرداده کامپوننت پیوند دهید.
-انتخاب بین HTML درون خطی و مجزا یک موضوع سلیقه، شرایط و خط مشی سازمان است. اما معمولاً از قالب درون خطی برای بخش کوچکی از کد و از فایل قالب خارجی برای نمایش های بزرگتر استفاده می کنیم. به طور پیش فرض، Angular CLI کامپوننت ها را با یک فایل الگو تولید می کند. اما می توانید با دستور زیر آن را لغو کنید
+می تونین الگوی کامپوننت خودتون رو تو یکی از دو مکان ذخیره کنین. می تونین اون رو به صورت درون خطی با استفاده از ویژگی template تعریف کنین، یا می تونین الگو رو در یک فایل HTML جداگانه تعریف کنین و با استفاده از ویژگی templateUrl در decorator @Component به اون در ابرداده کامپوننت پیوند بدین.
+انتخاب بین HTML درون خطی و مجزا یک موضوع سلیقه، شرایط و خط مشی سازمان است. اما معمولاً از قالب درون خطی برای بخش کوچکی از کد و از فایل قالب خارجی برای نمایش های بزرگتر استفاده می کنیم. به طور پیش فرض، Angular CLI کامپوننت ها رو با یک فایل الگو تولید می کنه. اما می تونین با دستور زیر اون رو لغو کنین
ng generate component hero -it@@ -2081,7 +2081,7 @@هدف از directive ngFor چی هستش؟
-ما از دستورالعمل Angular ngFor در قالب برای نمایش هر آیتم در لیست استفاده می کنیم. به عنوان مثال، در اینجا ما روی لیست کاربران تکرار می کنیم،
+ما از directive Angular ngFor در قالب برای نمایش هر آیتم در لیست استفاده می کنیم. برای مثال، در اینجا ما روی لیست کاربران تکرار می کنیم،
<li *ngFor="let user of users"> {{ user }} @@ -2092,17 +2092,17 @@هدف از directive ngIf چیه؟
-گاهی اوقات یک برنامه فقط در شرایط خاص نیاز به نمایش یک نما یا بخشی از یک نما دارد. دستورالعمل Angular ngIf یک عنصر را بر اساس شرایط درستی/نادرستی درج یا حذف می کند. اگر سن کاربر بیش از 18 سال باشد، برای نمایش پیام مثالی می زنیم.
+گاهی اوقات یه برنامه فقط در شرایط خاص نیاز به نمایش یه view یا بخشی از یه view داره. دستورالعمل Angular ngIf یک عنصر را بر اساس شرایط درستی/نادرستی درج یا حذف می کنه. اگر سن کاربر بیش از 18 سال باشد، برای نمایش پیام مثالی می زنیم.
<p *ngIf="user.age > 18">You are not eligible for student pass!</p>-Note: Angular پیام را نشان نمی دهد و پنهان نمی کند. در حال افزودن و حذف عنصر پاراگراف از DOM است. که عملکرد را بهبود می بخشد، به خصوص در پروژه های بزرگتر با اتصال داده های زیادی.
+Note: Angular پیام را نشان نمی دهد و پنهان نمی کنه. در حال افزودن و حذف عنصر پاراگراف از DOM است. که عملکرد را بهبود میده به خصوص در پروژه های بزرگتر با اتصال داده های زیادی.
Angular مقدار را ناامن تشخیص میدهد و بهطور خودکار آن را پاکسازی میکند، که تگ «اسکریپت» را حذف میکند اما محتوای ایمن مانند محتوای متنی برچسب «اسکریپت» را حفظ میکند. به این ترتیب خطر حملات تزریق اسکریپت را از بین می برد. اگر همچنان از آن استفاده می کنید، نادیده گرفته می شود و یک هشدار در کنسول مرورگر ظاهر می شود.
-بیایید مثالی از اتصال ویژگی innerHtml که باعث آسیبپذیری XSS میشود، بیاوریم.
+Angular مقدار رو ناامن تشخیص میده و بهطور خودکار آن رو پاکسازی میکنه، که تگ «اسکریپت» رو حذف میکند اما محتوای ایمن مانند محتوای متنی برچسب «اسکریپت» رو حفظ میکنه. به این ترتیب خطر حملات تزریق اسکریپت رو از بین می برد. اگر همچنان از آن استفاده می کنید، نادیده گرفته می شه و یک هشدار در کنسول مرورگر ظاهر می شه.
+بیایید مثالی از اتصال ویژگی innerHtml که باعث آسیبپذیری XSS میشه بیاوریم.
export class InnerHtmlBindingComponent { // For example, a user/attacker-controlled value from a URL. @@ -2113,25 +2113,25 @@منظور از interpolation چیه؟
-درون یابی یک نحو خاص است که Angular آن را به ویژگی binding تبدیل می کند. این یک جایگزین مناسب برای اتصال اموال است. با مهاربندهای دوتایی ({{}}) نشان داده می شود. متن بین پرانتزها اغلب نام یک ویژگی جزء است. Angular آن نام را با مقدار رشته خاصیت جزء مربوطه جایگزین می کند.
-بیایید یک مثال بزنیم،
+interpolation یه نحو خاصیه که Angular آن رو به ویژگی binding تبدیل می کنه. این یه جایگزین مناسب برای اتصال اموال است. با مهاربندهای دوتایی ({{}}) نشان داده میشه. متن بین پرانتزها اغلب نام یه ویژگی جزء است. Angular آن نام را با مقدار رشته خاصیت جزء مربوطه جایگزین می کنه.
+بیاین یه مثال بزنیم،
<h3> {{title}} <img src="{{url}}" style="height:30px"> </h3>-در مثال بالا، Angular خصوصیات عنوان و url را ارزیابی می کند و جاهای خالی را پر می کند، ابتدا عنوان برنامه پررنگ و سپس URL نمایش داده می شود.
+در مثال بالا، Angular خصوصیات عنوان و url رو ارزیابی می کنه و جاهای خالی رو پر می کنه، ابتدا عنوان برنامه پررنگ و سپس URL نمایش داده می شه.
یک عبارت الگو مقداری شبیه به هر عبارت جاوا اسکریپت تولید می کند. Angular عبارت را اجرا می کند و آن را به خاصیت یک هدف الزام آور اختصاص می دهد. هدف ممکن است یک عنصر HTML، یک جزء یا یک دستورالعمل باشد. در ویژگی binding، یک عبارت الگو در نقل قول در سمت راست نماد = مانند [property]="expression ظاهر می شود.
-در نحو درون یابی، عبارت الگو با پرانتزهای مجعد دوتایی احاطه شده است. به عنوان مثال، در درون یابی زیر، عبارت الگو {{username}} است،
یک عبارت الگو مقداری شبیه به هر عبارت جاوا اسکریپت تولید می کنه. Angular عبارت رو اجرا می کنه و اون رو به خاصیت یک هدف الزام آور اختصاص میده. هدف ممکنه یک عنصر HTML، یک جزء یا یک دستورالعمل باشد. در ویژگی binding، یک عبارت الگو در نقل قول در سمت راست نماد = مانند [property]="expression ظاهر می شه.
+در نحو درون یابی، عبارت الگو با پرانتزهای مجعد دوتایی احاطه شده. برای مثال، در درون یابی زیر، عبارت الگو {{username}} است،
<h3>{{username}}, welcome to Angular</h3>-
عبارات جاوا اسکریپت زیر در عبارت قالب ممنوع هستند
+عبارات جاوا اسکریپت زیر در عبارت قالب ممنوع هستن
assignments (=، +=، -=، ...)
new
یک عبارت الگو به رویدادی پاسخ می دهد که توسط یک هدف الزام آور مانند یک عنصر، مؤلفه یا دستورالعمل ایجاد شده است. عبارات الگو در نقل قول در سمت راست نماد = مانند (رویداد)="statement" ظاهر می شوند.
+یه template statements به رویدادی پاسخ میده که توسط یک هدف الزام آور مانند یک عنصر، مؤلفه یا دستورالعمل ساخته شده. عبارات الگو در نقل قول در سمت راست نماد = مانند (رویداد)="statement" ظاهر می شن.
Let's take an example of button click event's statement
<button (click)="editProfile()">Edit Profile</button> @@ -2161,13 +2161,13 @@چطوری دیتاهایی که bind شدن رو طبقه بندی میکنی؟
-انواع اتصال را می توان به سه دسته دسته بندی کرد که با جهت جریان داده ها متمایز می شوند. آنها به صورت زیر فهرست شده اند،
+انواع اتصال رو میشه به سه دسته دسته بندی کرد که با جهت جریان داده ها متمایز می شن. اونا به صورت زیر فهرست شدن
-
از منبع به مشاهده
از دیدگاه به منبع
View-to-source-to-view
نحو ممکن الزام آور را می توان به صورت جدولی در زیر ارائه کرد:
+نحو ممکن الزام آور رو می توان به صورت جدولی در زیر ارائه کرد: