2011-12-18 6 views
0

これは動作しません。これはdefaultViewを "bar"として設定しますが、ajax要求が完了すると決して "foo"に更新されません。私はこれをdependObservableとして設定しようとしましたが、もう運がありませんでした。明らかに何かを見逃しているのですか、名前空間を広げようとしていますか?名前空間のviewModelから別の名前空間ビューモデルにObservableを更新する方法

$.get("/players/summary", function(json) { 
    var playerViewModel = ko.mapping.fromJS(json); 
    dateViewModel.defaultDate = "foo"; 
    ko.applyBindings(playerViewModel, 'player'); 
}); 

var dateViewModel = { 
    defaultDate: ko.observable("bar") 
}; 

ko.applyBindings(dateViewModel, 'date'); 

答えて

2

"foo"を正しく設定していません。あなたは書く必要があります:

dateViewModel.defaultDate("foo"); 

だから、あなたが持っている:

$.get("/players/summary", function(json) { 
    var playerViewModel = ko.mapping.fromJS(json); 
    dateViewModel.defaultDate("foo"); // <--- Set foo using getter setter syntax 
    ko.applyBindings(playerViewModel, 'player'); 
}); 

var dateViewModel = { 
    defaultDate: ko.observable("bar") 
}; 

ko.applyBindings(dateViewModel, 'date'); 

これは、それを修正する必要がありますが、あなたはまだ問題があるならば、私はあなたの$.get呼び出しの前にdateViewModelをdefininingになります。

関連する問題