द्वारा बनाई गई नॉकआउट ऑब्जेक्ट की गहरी प्रतिलिपि कैसे बना सकता हूं, यह मेरा परिदृश्य है। मैं अपने लिए एक अवलोकन योग्य दृश्य पदानुक्रम बनाने के लिए नॉकआउट मैपिंग प्लगइन का उपयोग कर रहा हूं। मेरे पदानुक्रम ने इसमें तत्वों को घोंसला दिया है। पदानुक्रम में किसी विशेष बिंदु पर मैं अवलोकन योग्य में उस तत्व की एक नई खाली प्रतिलिपि डालने के लिए एक जोड़ें बटन डालना चाहता हूं। समस्या यह है कि मैं सिर्फ कुछ भी नहीं कह सकता Arr.push (नया MyObject())।मैपिंग प्लगइन
चूंकि मानचित्रण प्लगइन ने वास्तव में मेरे लिए संपूर्ण पदानुक्रम बनाया है, इसलिए मेरे पास "MyObject" तक पहुंच नहीं है। तो ऐसा लगता है कि एक नई चीज डालने के लिए मैं एकमात्र चीज कर सकता हूं, पिछली वस्तु को देखने और इसे कॉपी करने के लिए। मैंने ko.utils.extend फ़ंक्शन का प्रयास किया, लेकिन ऐसा लगता है कि यह वास्तविक क्लोन नहीं बना रहा है। यह मुझे एक ऑब्जेक्ट वापस देता है, लेकिन जब मैं उस ऑब्जेक्ट को अपडेट करता हूं तब भी वह उस मूल ऑब्जेक्ट को प्रभावित करता है जिसकी प्रतिलिपि बनाई गई थी।
jsfiddle example
धन्यवाद! ऐसा लगता है कि काम कर रहा है। – emirhosseini
हालांकि मुझे अभी भी आश्चर्य है कि नॉकआउट में एक ऑब्जेक्ट का वास्तविक क्लोन बनाने के लिए बेहतर तरीका है जिसमें अवलोकन है। यह वास्तव में एक मुद्दा नहीं होगा यदि मैं मैपिंग प्लगइन का उपयोग नहीं कर रहा था तब से मैं प्रत्येक बच्चे को ऑब्जेक्ट बनाने वाला व्यक्ति बनूंगा और मैं प्रतिलिपि बनाने की कोशिश करने के बजाए सीधे एक से सीधे नया कर सकता हूं ... – emirhosseini
आह, मैं समझ गया। मैं अपने निष्कर्षों के बारे में एक लंबी टिप्पणी छोड़ने और लिखने की प्रक्रिया में था ... तब मेरे पास एक रहस्योद्घाटन था और इसे समझ लिया गया। –