यहाँ एक व्यावहारिक जवाब, उपयोगकर्ता Kirill Slatin के सौजन्य से जो एक टिप्पणी के रूप में उत्तर पोस्ट है:
यहाँ एक उदाहरण है। उत्तर के नीचे व्यावहारिक उपयोग उदाहरण।
, तो मेरे जैसे, आप एक गुंजाइश चर के रूप में है कि प्रतिक्रिया ऑब्जेक्ट का उपयोग करने की जरूरत है, यह काम करना चाहिए:
$http.get('URL').success(function(data){
$scope.data = data;
$.fullCalender = $scope.data;
$scope.$apply()
});
$scope.$apply()
क्या प्रतिक्रिया ऑब्जेक्ट बना रहेगा ताकि आप उस डेटा का उपयोग कर सकते है।
-
क्यों आप ऐसा करने की आवश्यकता होगी?
मैं अपने व्यंजनों ऐप के लिए "संपादन" पृष्ठ बनाने की कोशिश कर रहा था। मुझे चयनित फॉर्म के डेटा के साथ अपना फॉर्म पॉप्युलेट करने की आवश्यकता थी। मेरा जीईटी अनुरोध करने के बाद, और $ scope.form पर प्रतिक्रिया डेटा पास करने के बाद, मुझे कुछ भी नहीं मिला ... $scope.$apply()
और Kirill Slatin ने बड़ी समय में मदद की। चीयर्स दोस्त!
यहाँ मेरी editRecipeController से उदाहरण है:
$http.get('api/recipe/' + currentRecipeId).then(
function (data) {
$scope.recipe = data.data;
$scope.form = $scope.recipe;
$scope.$apply()
}
);
आशा में मदद करता है!
क्या इससे बचने का कोई तरीका है? जावास्क्रिप्ट एकल थ्रेडेड है, और एक सिंक्रोनस HTTP अनुरोध करने से पूरे ब्रॉसर को अवरुद्ध कर दिया जाएगा, जबकि यह प्रतिक्रिया के लिए इंतजार कर रहा है। यह आपका पसंदीदा समाधान नहीं होना चाहिए। – GregL
क्या आप सफलता कॉलबैक में कॉल को पूर्ण कैलेंडर में नहीं ले जा सकते हैं और कॉलबैक के डेटा तर्क के बराबर डेटा सेट कर सकते हैं? – Scott
जब मैं कॉलबैक में पूर्ण कैलेंडर डेटा का उपयोग करता हूं तो यह टेम्पलेट पर प्रदर्शित नहीं होता है। – Dipak