2014-06-18 52 views
0

當我使用ko.mapping創建視圖模型時,我使用一些額外的observables擴展它。綁定,它在視圖中完美工作,但當我嘗試點擊按鈕並獲取數據時,擴展屬性不會出現。爲什麼?淘汰賽映射和當前項目屬性

create: function (options) { 
    var parent = new Parent(options.data); 
    parent.id = 1; 
    parent.fullName = ko.computed(function() { 
     return parent.firstName() + " " + parent.lastName(); 
    }); 
    parent.select = function (data, event) { 
     console.log(ko.mapping.toJSON(data)); 
    }; 
    return parent; 
    } 

全碼: http://jsfiddle.net/rferreiraperez/9v2hy/

觀察特性ID和FULLNAME不會出現在控制檯中。 謝謝你的採訪。

+0

你能看到ans嗎? –

+0

感謝您的回答, 我認爲我找到了解決這個問題的最佳解決方案。在Knockout API文檔中,您可以看到解決方案。 使用「include」包括某些屬性:http://knockoutjs.com/documentation/plugins-mapping.html 我剛更新了以前的代碼: http://jsfiddle.net/rferreiraperez/9v2hy/ – rferreiraperez

回答

0

您可以添加全名中的數據對象申請。

它在第6行處提供的姓氏:「Smith」之後的「data」對象中定義。

請參閱

Visit http://jsfiddle.net/nikunjbbalar/4FwQg/2/ 

感謝, Nikunj Balar。

1

我認爲ko.mapping.toJSON只顯示它自己映射的屬性。

如果你嘗試:

console.log(ko.toJSON(data)); 

你會在一開始的結束(和id)看到fullName

Fiddle