l'abonnement à des observables à la mise à jour viewmodel

http://jsfiddle.net/tim3046/jtmY3/2/


J'ai eu des observables en partie l'œuvre, puisqu'elle met à jour le haut par chaîne.

C'est ce que je vous abonnant à un si im me demandais si peut-être cette partie est faux car quand j'ajoute un golfeur, il est actuellement en cours sélectionné par. (ie) je peux avoir 2 golfeurs sur un parcours et 3 sur l'autre, de sorte que lorsque le radio bouton est frappé de la seule chose à faire est de changer le par pour la prochaine golfeur être ajouté.

self.site.subscribe(function (newValue) {
    var len = self.golfers().length;
    for (var i = 0; i < len; i++) {
        self.golfers()[i].par(self.availableCourses()[self.site()].courseP);
    }
});

et c'est là où j'ai mes cours disponibles

self.availableCourses = ko.observableArray([
        { name: ko.observable("Fort Cherry Golf Club"),
            courseP: [ko.observable(4), ko.observable(4), ko.observable(4), ko.observable(5), ko.observable(3), ko.observable(4),
            ko.observable(4), ko.observable(4), ko.observable(4), ko.observable(4), ko.observable(4), ko.observable(3), ko.observable(4),
            ko.observable(5), ko.observable(4), ko.observable(3), ko.observable(4), ko.observable(4)]
        },
        { name: ko.observable("Lake View Golf Course"),
            courseP: [ko.observable(4), ko.observable(4), ko.observable(4), ko.observable(3), ko.observable(5), ko.observable(4),
            ko.observable(5), ko.observable(3), ko.observable(4), ko.observable(4), ko.observable(4), ko.observable(3), ko.observable(4),
            ko.observable(5), ko.observable(4), ko.observable(3), ko.observable(4), ko.observable(5)]
        }
            ]);
C'est beaucoup trop de code à parcourir. Veuillez bouillir pour les éléments pertinents.
Im pas sûr de ce que je peux prendre et ce que je ne peux pas parce que son tout le nécessaire pour qu'il fonctionne correctement. Fondamentalement, ce que j'essaie de faire est de vous abonner à mon modèle de vue de détecter et de changements, puis les rafraîchir. Heres un exemple que j'ai trouvé c'est de faire quelque chose comme ce que je veux, mais utilise viewModel comme une variable plutôt qu'une fonction jsfiddle.net/rniemeyer/TTGbH

OriginalL'auteur user1515742 | 2012-07-26