93 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Control Flow
 | |
| localeTitle: تدفق التحكم
 | |
| ---
 | |
| ## تدفق التحكم
 | |
| 
 | |
| ### الشرطية
 | |
| 
 | |
| باستخدام Vue.js ، يمكنك تحديد العارض لإظهار أو عدم إدخال جزء من الشفرة في النهاية الصفحة ، اعتمادا على بعض الشرط. على سبيل المثال ، تخيل إدخال نموذج ما يتطلب نصًا لا يقل عن 8 أحرف: إذا كان إدخال المستخدم أقل من 8 أحرف ، من رسالة خطأ يجب أن تظهر ؛ ولكن إذا كان الإدخال أطول من 8 ، يختفي الرسالة.
 | |
| 
 | |
| لكن لنجعل مثالًا أبسط. نحن نريد أن الشرط من exibition من أ رسالة إلى عداد:
 | |
| 
 | |
|  `
 | |
| <div id="app"> 
 | |
|   <p v-if="counter > 10"> 
 | |
|     This message is only rendered when the counter is greater than 10 
 | |
|   </p> 
 | |
|  </div> 
 | |
| ` 
 | |
| 
 | |
|  `let app = new Vue({ 
 | |
|   el: '#app', 
 | |
|   data: { 
 | |
|     counter: 0 
 | |
|   } 
 | |
|  }); 
 | |
| ` 
 | |
| 
 | |
| إذا ذهبت إلى وحدة التحكم والبدء في زيادة العداد ، عندما يعبر لدينا عتبة 10 ، سيتم عرض الرسالة! ثم، إذا كنت إنقاص `counter` ، سوف يخفي Vue.js الرسالة عندما يحصل `counter` على أقل من 10. لذلك ، نحن استخدم التوجيه `v-if` .
 | |
| 
 | |
| وقد تتسائل إذا كان هناك `else` لذلك `if` . وهناك `v-else` . لاحظ أن `v-else` سوف دائما
 | |
| 
 | |
| *   نتوقع `v-if` قبل ذلك
 | |
| *   يشير إلى أقرب `v-if` في الصفحة
 | |
| 
 | |
| دعونا نغير قليلا من المثال الأول لدينا للحصول على هذا مستقيم.
 | |
| 
 | |
|  `
 | |
| <div id="app"> 
 | |
|   <p v-if="counter > 10"> 
 | |
|     This message is only rendered when the counter is greater than 10 
 | |
|   </p> 
 | |
|   <p v-else> 
 | |
|     And this is the "otherwise" option 
 | |
|   </p> 
 | |
|  </div> 
 | |
| ` 
 | |
| 
 | |
|  `let app = new Vue({ 
 | |
|   el: '#app', 
 | |
|   data: { 
 | |
|     counter: 0 
 | |
|   } 
 | |
|  }); 
 | |
| ` 
 | |
| 
 | |
| لعب قليلا مع ذلك عن طريق تغيير القيم `counter` والانتباه إلى الرسالة المعروضة.
 | |
| 
 | |
| لدى Vue.js أيضًا الأمر `v-else-if` .
 | |
| 
 | |
| ### الحلقات
 | |
| 
 | |
| يساعد Vue.js أيضًا على إنشاء نسخ متعددة من الشفرة نفسها هيكل ، مع حلقات. المثال الكلاسيكي هو قائمة تم تقديمها ديناميكيًا.
 | |
| 
 | |
|  `
 | |
| <div id="app"> 
 | |
|   <ul> 
 | |
|     <li v-for="item in list"> 
 | |
|       {{ item }} 
 | |
|     </li> 
 | |
|   </ul> 
 | |
|  </div> 
 | |
| ` 
 | |
| 
 | |
|  `let app = new Vue({ 
 | |
|   el: '#app', 
 | |
|   data: { 
 | |
|     list: [ 
 | |
|       "shave", 
 | |
|       "do the dishes", 
 | |
|       "clean the sink", 
 | |
|       "pay the bill" 
 | |
|     ] 
 | |
|   } 
 | |
|  }); 
 | |
| ` 
 | |
| 
 | |
| الطريقة أسهل من إدخال الكثير من `<li>` . ولاحظ أنه كلما `list` التغييرات ، والنتيجة ستتغير acordingly. جربه: افتح وحدة التحكم و `push` بعض الخيط إلى `list` مع
 | |
| 
 | |
|  `app.list.push("something else"); 
 | |
| ` 
 | |
| 
 | |
| كما هو متوقع ، فإن الصفحة المقدمة الآن تحتوي على منتج جديد تمامًا! |