freeCodeCamp/guide/arabic/miscellaneous/keep-data-in-sync-in-angular/index.md

24 lines
2.7 KiB
Markdown
Raw Normal View History

---
title: Keep Data in Sync in Angular
localeTitle: حافظ على البيانات في المزامنة في Angular
---
لنفترض أنك تريد ظهور شيء ما في طريقة عرض المستخدم عند إضافته إلى قاعدة البيانات. وهناك وجوه _الشيء_ الجديد تظهر على الفور حتى في حلقة انوغرام تكرار_ في عرض HTML الخاص بك إذا كنت ببساطة إضافته إلى مجموعة محلية مع
`$scope.awesomeThings.push(newThing);
`
ولكن ستظل بحاجة إلى إضافته إلى مجموعة قواعد البيانات الخاصة بك. أضفه إلى مجموعتك مع
`$http.post('/api/things', newThing);
`
لكن انتظر! فسوف ندرك قريبا أنه في حين أن جميع الأشياء الأخرى الخاصة بك في مجموعة _$ scope.awesomeThings_ لها هويات فريدة يكلفه بها MongoDB (تحت _الشيء._ الملكية id\_)، وجوه _newThing_ الخاص بك لن تقوم، والتي سوف تجعل من الصعب بالنسبة لك في مرحلة ما ل جعل الإجراءات قاعدة البيانات على أنها (حذفها من قاعدة البيانات الخاصة بك يتطلب منك استخدام ها._ الملكية id\_). ما الذي ستفعله بعد إضافته إلى صفيف _نطاق $.awesomeThings_ (لأننا نريده أن يظهر على صفحة المستخدم على الفور). إجمالاً ، سوف تبدو التعليمات البرمجية الخاصة بك لإضافة newThing إلى الصفيف المحلي وقاعدة البيانات الخاصة بك:
`$scope.awesomeThings.push(newThing);
$http.post('/api/things', newThing).success(function(thatThingWeJustAdded) {
$scope.awesomeThings.pop(); // let's lose that id-lacking newThing
$scope.awesomeThings.push(thatThingWeJustAdded); // and add the id-having newThing!
};
`
هذا يقوم بتحديث الصفيف المحلي للحصول على نتائج فورية _لمستخدمك ثم يقوم بمزامنتها_ مع قاعدة البيانات الخاصة بك ويقوم بتحديث الصفيف المحلي في الخلفية بإصدار قاعدة البيانات الخاصة _بكالجهاز newThing_ ، الفريد _._ id\_ وجميع. لاحظ أن رد الاتصال الذي نمرره إلى وظيفة _النجاح_ يتلقى _الشيء_ الجديد من قاعدة البيانات كحجة! بهذه الطريقة يمكنك بسهولة إضافتها إلى نطاقك المحلي دون الكثير من النفقات العامة.