當在敲除映射中使用'create'選項時,我們將使數組成爲可觀察數組。 但是,我們如何讓可觀察數組中的每個對象的屬性都是可觀察的?如何使可觀察數組中的對象屬性可觀察?
在這個從knockout文檔中的例子中,children數組是一個可觀察數組,但我想讓每個對象字面值中的id,name等所有元素都成爲可觀察對象。我們如何實現這一目標。只需在創建塊中的每個新對象上放置一個ko.observable
?
var data = {
name: 'Graham',
children: [
{ id : 1, name : 'Lisa' }
]
};
// Your custom data model
var myChildModel = function (data) {
this.id = data.id;
this.name = data.name;
};
var mapping = {
'children': {
create: function(options) {
return new myChildModel(options.data);
}
}
};
var viewModel = ko.mapping.fromJS(data, mapping);