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
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
Vous devez vous connecter pour publier un commentaire.
Avec knock-out vous créer observables dans votre modèle d'affichage pour représenter l'état de l'INTERFACE utilisateur. Ensuite, vous pouvez vous abonner à des changements dans ces observables si vous en avez besoin. Voir tout en bas de la KO page sur les phénomènes observables.
J'ai créé un simple violon pour démontrer les bases de l'utilisation de la fonction subscribe sur observables:
http://jsfiddle.net/YRscs/1/
Lorsque vous viewmodel changements, vous vous abonnez à elle. Alors, pourquoi vous voulez actualiser si il a juste changé? Qu'est-ce que vous essayez de faire?
Je sais que c'est beaucoup de code, mais si vous exécutez-le et appuyez sur les boutons de la radio, vous pouvez voir ce que j'essaie de faire. Fondamentalement, im essayant de passer entre deux terrains de golf qui ont différents pars. Une fois que le par les modifications que je veux la première fonction de l'appelant Golfeur à exécuter par le biais de nouveau et mettre à jour les données afin de refléter le nouveau cours par. Voici la mise à jour de violon jsfiddle.net/tim3046/jtmY3/2
KO doit prendre soin de mettre à jour automatiquement votre charge observables à chaque fois que vous mettez à jour l'une des dépendances. Je suppose que quelque part dans votre code, vous essayez de régler une observable à l'aide d' = au lieu de l'appeler son "setter" la fonction. C'est, je soupçonne que vous faites viewModel.observables = valeur; au lieu de le viewModel.observables( valeur );
J'ai vérifié mais ne trouve rien trouver de tout, je suis calculée à l'aide de fonctions où je prends chaque élément du tableau et le mettre dans une variable pour garder un décompte jusqu'à la fin. Puis-je retourner le comte, par exemple, j'ai
this.OUT = ko.computed(function () { return addSides(golfer.holes, 0, 8); });
pour chaque score type. Pourrait que peut-être elle?OriginalL'auteur bmode