Suis-je trop le knock-out plugin de cartographie par toujours l'utiliser pour faire mon viewmodel?

Je suis encore à apprendre le bon usage de knock-out et j'ai trouvé moi-même rapidement s'éloigner de toujours taper ko.observable lors de la configuration de mon viewmodel et, au lieu de simplement définir un objet littéral et le passer à travers la cartographie plugin avec quelque chose comme

var viewModel = ko.mapping.fromJS(data);

ou à tout le moins, quelque chose le long des lignes de farce à l'ensemble de mes données dans un attribut dans le viewModel comme

var viewModel = { 
    ... events etc ... , 
    "data": ko.mapping.fromJS(data)
}

Pour être honnête, la raison principale que j'ai fait c'est de refuser de type ko.observable et ko.observableArray de façon répétitive. Je suis juste essayer de comprendre si c'est une bonne approche et s'il y a des inconvénients à l'abandon du spécifique var x = ko.observable() déclaration tous ensemble. Aussi, je suis en train de faire tout cela sur la charge, non pas en réponse à un appel ajax etc, qui d'après ce que je peux dire, est ce que le plugin de cartographie a été conçue pour.

Dans votre travail avec knock-out, avez-vous encore de déclarer des observables à la main, un par un, ou avez-vous allé à la cartographie.fromJS méthode que j'utilise? Sont-t-il des inconvénients à l'utilisation de la cartographie plugin si souvent comme cela?

Edit:

Exemple Précis

Dans cet article, Steve met en place son viewModel en faisant

var initialData = [ { ... } , { ... } ]; //json from the serializer
var viewModel = {
    gifts : ko.observableArray(initialData)
};

Normalement, je voudrais utiliser ko.mapping.fromJS pour ce genre de situation, en particulier pour assurez-vous que les objets dans le tableau sont transformés en des observables ainsi. En regardant ce qu'il a fait, mon approche semble que son exagéré, et ajoute un peu de surcharge inutile.

  • Une considération que vous pourriez faire est de savoir si la cartographie crée un couplage étroit entre votre vue et de votre modèle de données. Aussi si vous avez besoin de rallonges. Ceux-ci peuvent être ajoutés à l'aide de la cartographie des options, mais peut alors devenir difficile à gérer si vous êtes l'extension de la plupart de vos observables, comme cela peut arriver avec de la validation du formulaire.
InformationsquelleAutor Allen Rice | 2011-09-20