2013-07-14 42 views
1

使用Knockout.js映射插件時,如何檢查值是否爲null並返回其他值。例如,讓我們可以從JSON服務器:如何確保Knockout.js映射插件不會將null映射到屬性

[{「名稱」:「蘋果派」},{「姓名」:空}]

Knockout.js映射插件將設置最後一個項目爲空。我如何檢查它是否爲空,如果是,然後返回ko.observable('')?

+0

在你的json中你有2個「Name」是一個數組? –

+0

@ebramtharwat我更新了問題。謝謝你的收穫。 – Phil

回答

2

使用the update mapping;如果name的值爲null,則強制執行默認值。

var data = { 
    pies: [ 
    { name: 'Apple Pie' }, 
    { name: null } 
    ] 
}; 

var mapping = { 
    'name': { 
    update: function(options) { 
     return options.data || ''; 
    } 
    } 
} 
var viewModel = ko.mapping.fromJS(data, mapping); 
var pies = viewModel.pies(); 

console.log(pies[0].name()); // => 'Apple pie' 
console.log(pies[1].name()); // => '' 
+0

感謝您的回答。當我最初閱讀你給出的鏈接時,我錯過了。 – Phil