2012-08-06 106 views
1

我特林創建我添加了一個功能,從集合中刪除的項目在數組中的東西時,映射該淘汰賽映射和家長選擇

{ items: [ 
    { id: 1 }, 
    { id: 2 }, 
    { id: 3 } 
]}; 

var mapping = { 
    'items': { 
     key: function(data) { 
      return ko.utils.unwrapObservable(data.id); 
     }, 
     create: function(options) { 
      var o = (new(function() { 
       this._remove = function() { 
        options.parent.items.mappedRemove(options.data); 
       }; 
       ko.mapping.fromJS(options.data, {}, this); 
      })()); 
      return o; 
     } 
    } 
}; 

這種方法可行,如果我刪除使用items.mappedCreate但鴕鳥政策與映射ko.mapping.fromJS項目工作增加了一個項目。

調試時我發現options.parent在不同的情況下是不一樣的。 爲什麼?這兩個方法是否應該作爲父項返回項目observableArray?

我已經用例子​​設置了一個jsfiddle。

謝謝

回答