Je voudrais push
un nouvel élément sur un observableArray
, mais seulement si l'élément n'est pas déjà présent. Existe-t-il une fonction «find» ou un modèle recommandé pour y parvenir dans KnockoutJS?
J'ai remarqué que la remove
fonction sur un observableArray
peut recevoir une fonction pour passer une condition. Je veux presque la même fonctionnalité, mais ne la pousser que si la condition transmise est vraie ou non.
knockout.js
Jaffa
la source
la source
ko.utils.arrayFirst
. J'ajouterai un échantillon à la réponse.Merci RP. Voici un exemple d'utilisation de votre suggestion pour renvoyer la propriété 'name' via la propriété 'id' de l'objet depuis mon modèle de vue.
En HTML, j'ai ce qui suit ($ parent est dû au fait que cela se trouve dans une boucle de ligne de table):
la source
rechercher un objet dans un ko.observableArray
http://jsfiddle.net/rathore_gee/Y4wcJ/
la source
J'ajouterais "valueWillMutate ()" avant les changements et "valueHasMutated ()" après eux.
la source