【发布时间】:2012-12-20 21:28:31
【问题描述】:
我正在使用 KnockoutJS 并尝试订阅 observable 中的 observableArray 中的 observableArray。所以我的 viewModel 看起来像这样......
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);
});
}
movies observableArray 从映射插件中填充后看起来像这样...
[{
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 }]
}]
我正在尝试设置对 UserMovies.Rating 的订阅,但是从我上面的 viewModel 收到错误消息
TypeError: self.movies.UserMovies 未定义
如果从映射插件填充UserMovies.Rating,我该如何设置订阅?
【问题讨论】:
-
如果你想深度订阅数组,可以使用这个插件的最新版本:github.com/ZiadJ/knockoutjs-reactor