मैं push
observableArray
पर एक नया आइटम चाहता हूं, लेकिन केवल तभी जब आइटम पहले से मौजूद नहीं है। क्या KnockoutJS में इसे प्राप्त करने के लिए कोई "ढूंढें" फ़ंक्शन या अनुशंसित पैटर्न है?एक अवलोकन योग्य सरणी में किसी आइटम को सशर्त रूप से कैसे दबाया जाए?
मैंने देखा है कि remove
observableArray
पर फ़ंक्शन किसी शर्त में गुजरने के लिए एक फ़ंक्शन प्राप्त कर सकता है। मैं लगभग एक ही कार्यक्षमता चाहता हूं, लेकिन केवल उस स्थिति को धक्का देने के लिए यदि स्थिति में पारित किया गया है या सत्य नहीं है।
क्या यह आइटम पर सभी गुणों की तुलना करता है? मुझे केवल एक आईडी संपत्ति के लिए परीक्षण करने की आवश्यकता है। – jaffa
यह जांच करेगा कि दोनों एक ही वस्तु हैं। यदि आपको व्यक्तिगत गुणों की जांच करने की आवश्यकता है, तो आप 'ko.utils.arrayFirst' का उपयोग कर सकते हैं। मैं जवाब में एक नमूना जोड़ दूंगा। –
उत्कृष्ट टिप, लेकिन मुझे itemToAdd.id === item.id को itemToAdd.id() === item.id() में आइटम बदलना पड़ा। मैंने अपना कोड अगले जवाब में पोस्ट किया। – Rake36