2012-09-22 21 views
0

我有2個關於基因敲除簡單的問題:

  1. 我怎樣才能獲得$父母鍵,例如。如果我的視圖模型爲:

    viewModel = { ModelA: { ModelB : { ModelC : { someprop } } } } 
    

    ,我有3個模板,第一個模板渲染MODELA,第二ModelB和第三ModelC,我怎樣才能在ModelC模板如下:

    <a data-bind="visible: viewModel.{$parents[1].key}.{$parents[0].key}.{$data.key}.someprop" /> 
    
  2. 如何我可以在運行時從ModelC中移除可觀察的someprop嗎?我試着在ModelC模板嵌入此:

    <input type="checkbox" data-bind="click: function() { viewModel.removeIt(someprop) }" /> 
    

    而這根頁面

    viewModel.removeIt = function(node) { 
        ko.cleanNode(node); 
    }; 
    

    ,但它無法正常工作。

回答

0

我不太清楚你試圖在你的第一個問題做什麼,但我創建了一個小提琴,可能有助於回答是:http://jsfiddle.net/FwJWG/

作爲去除可觀察到的,你可以使用deletehttp://jsfiddle.net/7sS8k/

+0

將其從課程中全部刪除使用感謝您的刪除選項。關於第一個問題,我想獲取父級屬性名稱,而不用在模板中對其進行硬編碼(類似於dotnet中的反射)。 –