Ich benutze KnockoutJS und versuche, eine observable
, die in einer observableArray
ist, die in einem observableArray
ist. So sieht mein Ansichtsmodell so ...Wie abonniere ich Observable in ObservableArray
function viewModel() {
// private properties
var self = this;
// public properties
self.movies = ko.mapping.fromJS([]);
// subscriptions
self.movies.UserMovies.Rating.subscribe(function(newValue) {
console.log(newValue);
});
}
Die movies
observableArray wie dieses eine Mal aus dem Mapping-Plugin bevölkert aussehen würde ...
[{
Id: 1,
Title: 'Movie1',
Year: 2010,
UserMovies: [{ Id: 11, Rating: 3.5, IsWatched: true }]
},{
Id: 2,
Title: 'Movie2',
Year: 2010,
UserMovies: [{ Id: 4, Rating: 4, IsWatched: true }]
}]
Ich versuche, ein Abonnement für UserMovies einzurichten .Rating aber aus meinem oben Ansichtsmodell immer die Fehlermeldung
TypeError: self.movies.UserMovies is undefined
Wie würde ich mich über ein Abonnement fürEinrichtung bekamwenn es aus dem Mapping-Plugin besteht?
Sie können die neueste Version dieses Plugins verwenden, wenn Sie eingehende Abonnements für Arrays wünschen: https://github.com/ZiadJ/knockoutjs-reactor – Ziad