1
淘汰賽不能按預期工作,即時消息我的界面。 我想我的錯誤。但我無法理解它。在淘汰賽中未完全結合
我有風格的專輯中收錄了與流派曲目:
var initialData = [{
title: 'Danny',
genres: [
{id: 21,
title: 'Noise'},
{id: 22,
title: 'EBM'}],
tracks: [
{title: 'Pony',
genres: [
{id: 21,
title: 'Noise'},
{id: 22,
title: 'EBM'}]},
{title: 'Hungry',
genres: [
{id: 21,
title: 'Noise'},
{id: 22,
title: 'EBM'}]}
]
}];
我要創建相冊流派之間的單向同步到曲目流派:
- 如果我添加流派的專輯,這個類型將被添加到所有軌道。
- 如果我從專輯中刪除流派,該流派將從所有曲目中刪除。
- 如果我添加類型來追蹤,這個類型將只被添加到這個軌道。
- 如果我從曲目中刪除流派,這個流派只會從這首歌中刪除。
我同步正常工作(除一例)本功能:
self.addGenre = function(album) {
var id = rand(),
item = {
id: id,
title: ' genre #' + id
};
album.genres.push(item);
if (album.tracks()) {
$.each(album.tracks(), function (index, track) {
track.genres.push(item);
});
}
};
self.removeGenre = function(genre) {
$.each(self.albums(), function() {
this.genres.remove(genre);
if (this.tracks()) {
$.each(this.tracks(), function (index, track) {
track.genres.remove(genre);
});
}
});
};
例外是,如果我想刪除默認值(噪音,EBM,見上面initialData)的專輯曲風。它不起作用。
我創建了一個jsFiddle顯示這種情況下,包括在它很多的console.log()
調試
我懷疑是在ko-mapping的原因,但不知道'unwrapObservable'的解決方案。謝謝! –