使用ignore忽略不需要map的屬性
如果在map的時候,你想忽略一些屬性,你可以使用ignore累聲明需要忽略的屬性名稱集合:
這樣執行後age不會在viewModel中

你聲明的忽略數組被編譯到預設的ignore數組裡。你可以像下面代碼一樣來維護它:
使用include聲明需要map的屬性
預設情況下,當map你的view model回到JS對象是時候,隻map原始view model裡擁有的屬性(除了例外的_destroy屬性),不過,你可以使用include參數來定制:
你聲明的include數組被編譯到預設的include數組裡,預設隻有_destroy。 你可以像這樣來維護:
使用copy來複制屬性
預設情況下,map的時候是把所有的值都轉換成observable的,如果你隻是想copy屬性值而不是替換成observable的,你可以将屬性名稱添加到copy數組:
你聲明的copy數組被編譯到預設的copy數組裡,預設值是空。你可以像這樣來維護
Specifying the update target
在上面的例子,如果你想再一個class内map,你可以使用第三個參數作為操作的目标,例如:
是以,如果你想map一個JavaScript對象到this上,你可以這樣聲明:
從資料源map
你可以通過多次使用ko.mapping.fromJS 來将多個JS對象的資料源map到一起,例如:
Map以後的observable數組
map插件map以後生産的observable數組,帶有幾個額外的函數來處理帶有keys的mapping:
它們是和ko.observableArray裡的函數等價的,不同是他們通過key來處理對象。例如:
map過的observable數組,除了上面的函數還支援一個mappedCreate函數:
首先會檢查key(id=3)在數組裡是否存在(如果存在則抛出異常),然後,如果有create和 update回調的話會調用他們,最後建立一個新對象,并将新對象添加到數組然後傳回該新對象。