2013-06-18 7 views
8

कहें कि मेरे पास एक टोडो एप्लिकेशन है और किसी भी टोडो पर चेकबॉक्स पर क्लिक करके इसे पूरा किया जाता है और एक पुट ऑपरेशन करता है।कोणीय संसाधन एक थोक आराम से संचालन कर सकते हैं?

फिर 'सभी पूर्ण चिह्नित करें' या 'सभी अपूर्ण चिह्नित करें' के लिए एक चेकबॉक्स है। यह प्रत्येक व्यक्ति को पूर्ण/अपूर्ण के रूप में चिह्नित करना चाहिए, चाहे उसकी व्यक्तिगत स्थिति क्या हो।

angular-resource का उपयोग करते समय, सभी वस्तुओं को अपडेट करने का सबसे अच्छा तरीका तरीका क्या है। क्या यह एक ही थोक अनुरोध में करना संभव है और सभी आइटम अपडेट किए गए हैं? या मैं व्यक्तिगत रूप से प्रत्येक को अद्यतन करने से बेहतर होगा? अपने नियंत्रक में कर

var Todo = $resource('api/todo/:todo_id', {todo_id: '@id'}, { 
    markAllComplete: { method: 'POST', params: { complete: true }, isArray: true } 
} 

और उसके बाद: केवल एक चीज (और यकीनन सबसे मुश्किल बात यह है कि)

// Assuming your todos have been fetched and are stored 
// in the $scope.todos variable... 
Todo.markAllComplete($scope.todos); 

+0

उस तरह का एपीआई पर निर्भर करता है, है ना? यदि एपीआई ऐसे थोक भार का समर्थन करता है, तो आप उन्हें एक $ http अनुरोध का उपयोग कर भेज सकते हैं। अन्यथा आप वस्तुओं पर लूप कर सकते हैं और प्रत्येक पर .update() कर सकते हैं। – finishingmove

+0

यह एक अलग प्रकार की वस्तु/सेवा की तरह लगता है। मैं TodoBulkService नामक एक अलग सेवा तैयार करूंगा और थोक कार्यों से निपटने के लिए फैक्ट्री का विस्तार करूंगा। –

+0

एपीआई इसे संभाल सकता है, या इसे संभालने के लिए बनाया जा सकता है। यह मानते हुए कि एपीआई "आदर्श" है जो कोणीय पक्ष पर किया जाना चाहिए, एपीआई को कोणीय को क्या भेजने की आवश्यकता है और यह वापस आने की क्या अपेक्षा करता है? मुझे पता है कि कोणीय संसाधन में कस्टम क्रियाएं हो सकती हैं जो सरणी स्तर पर काम करती हैं, क्या यह एक संभावित समाधान है? –

उत्तर

4

आप अपने कोणीय संसाधन उदाहरण के लिए, एक कस्टम क्रिया उपलब्ध कराने के द्वारा विस्तार कर सकता है करने के लिए बाएं अपने बैकएंड को 'एपीआई/टोडो' में एक पोस्ट स्वीकार करने के लिए कोड करना होगा और सभी संदर्भित टोडो को पूरा होने के रूप में चिह्नित करना होगा।

+0

यह आराम से नहीं है। यह आरपीसी है। – bruno

संबंधित मुद्दे