だから私はこのようなViewModelを持っています:
public class ViewModel{
// Constructors, other properties
public List<ItemViewModel> Items { get; set; }
public ItemViewModel SelectedItem {get;set;}
public void InitializeViewModel(){
//Case 1:
SelectedItem = null;
//Case 2:
SelectedItem = Item.FirstOrDefault();
}
}
私のcshtmlには次のものがあります:
var viewModel = ko.mapping.fromJS(@Html.Raw(Model.ToJson()));
これで気付いたのは、ko.mapping.fromJSがケース 1を監視可能としてバインドしていることです。ただし、ケース 2が設定されている場合、ko.mapping.fromJS は SelectedItem をオブザーバブルとしてマップしません。
Case2 が実装され、ko.mapping.fromJS が SelectedItem プロパティをマップするようにコードを設定するにはどうすればよいですか?
壊れるコードは次のとおりです: https://skydrive.live.com/redir?resid=33048714B5BF3B4B!1261