Skip to content

Instantly share code, notes, and snippets.

@beyond-code-github
Last active January 3, 2016 00:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save beyond-code-github/8385804 to your computer and use it in GitHub Desktop.
Save beyond-code-github/8385804 to your computer and use it in GitHub Desktop.
Example use case demonstrating complex object change tracking at multiple levels
var viewModel = {
Name: ko.observable("Pete"),
Age: ko.observable(29),
Skills: ko.observable({
Tdd: ko.observable(true),
Knockout: ko.observable(true),
ChangeTracking: ko.observable(false),
Languages: ko.observable({
Csharp: ko.observable(false),
Javascript: ko.observable(false)
}),
}),
Occupation: ko.observable("Developer")
};
applyChangeTracking(viewModel);
viewModel.Skills().ChangeTracking(true);
viewModel.Skills().Languages({
Csharp: ko.observable(true),
Javascript: ko.observable(true),
});
getChangesFromModel(viewModel);
/* -> {
"Skills": {
ChangeTracking: true,
Languages: {
Csharp: true,
Javascript: true
}
}
} */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment