Comment exclure certaines propriétés de Knockoutjs toJS ()

J'ai le modèle suivant:

var model = {
   A: 'One',
   B: 'Two',
   C: 'Three'
};

- Je lier les différents éléments de l'INTERFACE utilisateur de ces champs, qui fonctionne très bien. Cependant, j'ai de convertir le modèle à l'objet JavaScript afin que je puisse enregistrer les modifications sur le serveur:

var goingToServer = ko.toJS(model);

goingToServer comprendra des propriétés A, B et C. Cependant, disons du bien C est un énorme bloc de données qui ne changera jamais. J'aimerais éviter d'envoyer vers le serveur.

Est-il un moyen de faire toJS() seulement comprennent un ensemble prédéfini de champs lors de la conversion d'un modèle vers un objet JavaScript?

Une chose que j'ai étudié est le Knock-out plugin de Cartographie. Il possède un paramètre appelé inclure qui est décrit comme tel:

Lors de la conversion de votre point de vue d'un modèle vers un objet JS, par défaut, l'
plugin de cartographie comprend uniquement les propriétés qui ont été une partie de votre
point de vue original modèle, sauf qu'il comprendra également l'
De knock-out généré _destroy bien, même si elle ne faisait pas partie de votre
objet d'origine. Cependant, vous pouvez choisir de personnaliser ce tableau:

Toutefois, il semble que ce plugin ne fonctionne pas comme indiqué, comme ko.mapping.toJS() sera toujours inclure des A, B et C, même si je passe dans un include tableau de ['A', 'B']. Je devine que cette fonctionnalité est destinée à inclure supplémentaires champs qui n'étaient pas dans le modèle d'origine.

Est-il un moyen d'exclure certaines propriétés lors de la conversion d'un modèle vers un objet JavaScript, court de faire quelque chose de hacky comme la production de l'objet et de supprimer manuellement les propriétés que je ne veux pas en avant de l'envoyer au serveur?

source d'informationauteur Mike Christensen