Mapping options
There are times when you are loading data into a page application that doesn't need to be changed. This is just static data and making it observable spends extra processor time and memory resources for no gain. When passing data into the mapping handler, you can set which items are mapped as observable items, using the following lines of code:
var data = { a: "a", b: [{ b1: "v1" }, { b2: "v2" }], c: true }; var result = ko.mapping.fromJS(data, { observe: "a" }); var result2 = ko.mapping.fromJS(data, { observe: "a", copy: "b" }); //will be faster to map.
The results we get from the result
and result2
variables will be the same. Why? This is because when we declare the observe
items the other items are assumed to be copied items. If a single item is passed in we can declare it outside an array, as we did with a
. If multiple items are passed in we would declare them in an array, as ["a","c"]
. This would make both a
and c
observable items.
If we just wanted to declare an item...