मैं निम्नलिखित जावास्क्रिप्ट/कोणीय कोड है को संदर्भित जब:कोणीय जे एस: angular.copy ब्राउज़र दुर्घटनाओं एक वस्तु किसी अन्य वस्तु
var a = {};
var b = {};
a.ref = b;
b.ref = a;
angular.copy(a);
angular.copy
आग, ब्राउज़र को ताले है। मुझे लगता है कि ऐसा इसलिए है क्योंकि प्रतिलिपि कार्य एक गहरी प्रतिलिपि कर रहा है, और जब यह बी के संदर्भ को प्रतिलिपि बनाना शुरू करता है, तो यह बी में जाता है और फिर इसके संदर्भ को प्रतिलिपि बनाना चाहता है, इस प्रकार एक परिपत्र प्रतिलिपि बनाना, जो कभी नहीं होगा समाप्त।
क्या यह धारणा सही है? यदि हां, तो क्या इससे बचने का कोई तरीका है? मुझे लगता है कि जवाब में मेरा डेटा दिखने के तरीके को बदलने में शामिल होगा, लेकिन मैं किसी अन्य व्यक्ति के विचारों को सुनने के लिए उत्सुक हूं।
दिलचस्प। मेरी धारणा को साफ़ करने के लिए धन्यवाद। मेरे डेटा की संरचना की तरह लगता है कि बस बदला जाना चाहिए ... – incutonez
क्या आप इसे कैसे तय करते हैं? क्या आप इसे एक परिपत्र संदर्भ के साथ काम करने में सक्षम थे? – testing123
हमने इसे अपने डेटा मॉडल को पुन: काम करके तय किया है। बच्चे को वास्तविक मूल वस्तु नोड देने के बजाय, हमने प्रत्येक बच्चे को एक बच्चा नोड और पैरेंट नोड आईडी जोड़ा ... इसलिए जब हम पोते बनाने के लिए जाते हैं, तो अपने माता-पिता की आईडी के साथ पास करना आसान होता है। – incutonez